]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Merge changes from CUPS 1.6svn-r10437.
authormsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Mon, 23 Apr 2012 22:44:16 +0000 (22:44 +0000)
committermsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Mon, 23 Apr 2012 22:44:16 +0000 (22:44 +0000)
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3794 a1ca3aef-8c08-0410-bb20-df032aa958be

216 files changed:
CHANGES-1.5.txt
CHANGES.txt
INSTALL.txt
LICENSE.txt
README.txt
backend/Dependencies
backend/Makefile
backend/dnssd.c
backend/ipp.c
backend/lpd.c
backend/runloop.c
backend/socket.c
backend/usb-darwin.c
backend/usb-unix.c
berkeley/Dependencies
cgi-bin/admin.c
cgi-bin/classes.c
cgi-bin/ipp-var.c
cgi-bin/jobs.c
cgi-bin/printers.c
config-scripts/cups-common.m4
config-scripts/cups-defaults.m4
config-scripts/cups-directories.m4
config-scripts/cups-gssapi.m4
config-scripts/cups-manpages.m4
config-scripts/cups-pam.m4
config.h.in
configure.in
cups/Dependencies
cups/adminutil.c
cups/api-filter.shtml
cups/api-ppd.header
cups/api-ppd.shtml
cups/array.c
cups/attr.c
cups/auth.c
cups/backchannel.c
cups/backend.c
cups/conflicts.c
cups/cups.h
cups/custom.c
cups/dest-job.c
cups/dest-localization.c
cups/dest-options.c
cups/dest.c
cups/dir.c
cups/emit.c
cups/encode.c
cups/file.c
cups/getdevices.c
cups/getputfile.c
cups/globals.c
cups/http-addr.c
cups/http-addrlist.c
cups/http-private.h
cups/http-support.c
cups/http.c
cups/http.h
cups/ipp-support.c
cups/ipp.c
cups/ipp.h
cups/localize.c
cups/mark.c
cups/notify.c
cups/options.c
cups/page.c
cups/ppd.c
cups/ppd.h
cups/pwg-media.c
cups/raster-private.h
cups/raster.h
cups/request.c
cups/sidechannel.c
cups/sidechannel.h
cups/snmp-private.h
cups/snmp.c
cups/tempfile.c
cups/testpwg.c
cups/thread-private.h
cups/thread.c
cups/usersys.c
cups/util.c
cups/versioning.h
data/media.defs
doc/Makefile
doc/help/api-array.html
doc/help/api-cups.html
doc/help/api-filedir.html
doc/help/api-filter.html
doc/help/api-httpipp.html
doc/help/api-ppd.html
doc/help/api-raster.html
doc/help/kerberos.html
doc/help/license.html
doc/help/man-ipptool.html
doc/help/network.html
doc/help/postscript-driver.html
doc/help/ppd-compiler.html
doc/help/raster-driver.html
doc/help/ref-classes-conf.html
doc/help/ref-client-conf.html
doc/help/ref-cupsd-conf.html.in
doc/help/ref-ppdcfile.html
doc/help/ref-printers-conf.html
doc/help/ref-snmp-conf.html
doc/help/sharing.html
doc/help/spec-cmp.html
doc/help/spec-ipp.html
doc/help/spec-postscript.html
doc/help/spec-ppd.html
filter/Dependencies
filter/api-raster.shtml
filter/commandtops.c
filter/error.c
filter/gziptoany.c
filter/interpret.c
filter/postscript-driver.header
filter/postscript-driver.shtml
filter/ppd-compiler.shtml
filter/pstops.c
filter/raster-driver.header
filter/raster-driver.shtml
filter/raster.c
filter/rastertoepson.c
filter/rastertohp.c
filter/rastertolabel.c
filter/spec-ppd.shtml
locale/Dependencies
locale/Makefile
locale/cups.pot
locale/cups.strings
man/Makefile
man/backend.man
man/cancel.man
man/classes.conf.man
man/client.conf.man.in
man/cups-config.man
man/cups-deviced.man.in
man/cups-driverd.man.in
man/cups-lpd.man.in
man/cups-polld.man
man/cups-snmp.conf.man
man/cups-snmp.man.in [new file with mode: 0644]
man/cupsaccept.man
man/cupsaddsmb.man.in
man/cupsctl.man
man/cupsd.man.in
man/cupsenable.man
man/cupsfilter.man
man/cupstestdsc.man
man/cupstestppd.man
man/filter.man
man/ipptool.man
man/lp.man
man/lpadmin.man
man/lpc.man
man/lpinfo.man
man/lpmove.man
man/lpoptions.man.in
man/lppasswd.man
man/lpq.man
man/lpr.man
man/lprm.man
man/lpstat.man
man/mailto.conf.man
man/mime.convs.man
man/mime.types.man
man/notifier.man
man/ppdcfile.man
man/ppdhtml.man
man/ppdi.man
man/ppdmerge.man
man/ppdpo.man
man/printers.conf.man
man/subscriptions.conf.man
monitor/Dependencies
notifier/Dependencies
packaging/InstallationCheck
packaging/cups.list.in
packaging/cups.spec.in
ppdc/Dependencies
ppdc/ppdc-catalog.cxx
ppdc/ppdc.cxx
ppdc/ppdpo.cxx
ppdc/sample.drv
scheduler/Dependencies
scheduler/Makefile
scheduler/avahi.c [deleted file]
scheduler/avahi.h [deleted file]
scheduler/client.c
scheduler/conf.c
scheduler/conf.h
scheduler/cups-driverd.cxx
scheduler/cups-exec.c
scheduler/cupsd.h
scheduler/cupsfilter.c
scheduler/dirsvc.c
scheduler/dirsvc.h
scheduler/job.c
scheduler/main.c
scheduler/printers.c
scheduler/printers.h
scheduler/process.c
scheduler/timeout.c [deleted file]
scheduler/util.c
systemv/Dependencies
systemv/cupsaddsmb.c
systemv/cupsctl.c
systemv/cupstestppd.c
templates/error.tmpl
test/Dependencies
test/ipp-1.1.test
test/ipptool.c
test/run-stp-tests.sh
vcnet/config.h
xcode/CUPS.xcodeproj/project.pbxproj

index 344c5eda2b0f38cd3dc3dd89b087ec7d351fa8e2..c8dcb991e4403480440dca571f5cfdcbfd17d0ab 100644 (file)
@@ -3,6 +3,7 @@ CHANGES-1.5.txt
 
 CHANGES IN CUPS V1.5.3
 
+       - Compiling without threading support failed (STR #4060)
        - Fixed compile problem with old versions of OpenSSL (STR #4036)
        - The network backends did not check SNMP supply levels regularly
          (STR #4040)
@@ -37,7 +38,7 @@ CHANGES IN CUPS V1.5.3
          for printers (STR #3985)
        - The IPP backend no longer re-queues print jobs that are too large for
          the printer/server (STR #3977)
-       - The RPM spec file did not work (STR #4021)
+       - The RPM spec file did not work (STR #4021, STR #4057)
        - Encryption did not work when the server name ended with "."
          (STR #4011)
        - The multi-purpose tray is now mapped to the IPP "by-pass-tray"
index 658c462ffb2e60a39c190ccf156cd6ec36073dc6..33aa961dc82bed367917dd04aa6f69ceec52eec4 100644 (file)
@@ -1,9 +1,10 @@
-CHANGES.txt - 1.6b1 - 2012-03-16
+CHANGES.txt - 1.6b1 - 2012-04-17
 --------------------------------
 
 CHANGES IN CUPS V1.6b1
 
        - Documentation updates (STR #3927, STR #3980, STR #4010)
+       - CUPS now supports Bonjour using Avahi (STR #3066)
        - The PreserveJobFiles and PreserveJobHistory directives now support
          specification of a time interval (STR #3143)
        - PPD files can now be archived in (gzip'd) tar files to further reduce
index a7b5a5869b1870926e0a1819f52c9938e790b614..dc623d0758bc62af9a6d310875f038b78de007fa 100644 (file)
@@ -1,4 +1,4 @@
-INSTALL - CUPS v1.5.0 - 2011-07-25
+INSTALL - CUPS v1.6.0 - 2012-04-23
 ----------------------------------
 
 This file describes how to compile and install CUPS from source code. For more
@@ -6,7 +6,7 @@ information on CUPS see the file called "README.txt".  A complete change log can
 be found in "CHANGES.txt".
 
 **** IF YOU HAVE A NON-POSTSCRIPT PRINTER AND ARE NOT       ****
-**** RUNNING MAC OS X, YOU WILL ALSO NEED TO INSTALL GPL    ****
+**** RUNNING OS X, YOU WILL ALSO NEED TO INSTALL GPL        ****
 **** GHOSTSCRIPT WITH THE "cups" DRIVER AFTER YOU INSTALL   ****
 **** CUPS.                                                  ****
 
@@ -34,7 +34,7 @@ BEFORE YOU BEGIN
     PostScript filter needed by non-PostScript printers.  You *must* download
     GPL Ghostscript separately from the CUPS web site if you want to print
     PostScript files to non-PostScript printers on operating systems other than
-    Mac OS X.
+    OS X.
 
 
 COMPILING THE SUBVERSION REPOSITORY CODE
index 7d80518a35470130fe3e6404ff5428e8db63583e..75c4a376f195b555fc4d998bc4c1001b2525902a 100644 (file)
@@ -1,6 +1,6 @@
                           CUPS License Agreement
 
-                     Copyright 2007-2011 by Apple Inc.
+                     Copyright 2007-2012 by Apple Inc.
                             1 Infinite Loop
                          Cupertino, CA 95014 USA
 
@@ -68,11 +68,11 @@ the following special exceptions:
           source code of the Apple OS-Developed Software.
 
        b. An Apple Operating System means any operating system
-          software developed and/or marketed by Apple Computer,
-          Inc., including but not limited to all existing
-          releases and versions of Apple's Darwin, Mac OS X,
-          and Mac OS X Server products and all follow-on
-          releases and future versions thereof.
+          software developed and/or marketed by Apple Inc.,
+          including but not limited to all existing releases and
+          versions of Apple's Darwin, OS X, and OS X Server
+          products and all follow-on releases and future
+          versions thereof.
 
        c. This exception is only available for Apple
           OS-Developed Software and does not apply to software
index f278e4dec3cade71559a24b896242b6ed87ed74a..944fb67e74a33258285e916106634b26cea2fa71 100644 (file)
@@ -1,4 +1,4 @@
-README - CUPS v1.5.0 - 2011-07-25
+README - CUPS v1.6.0 - 2012-04-23
 ----------------------------------
 
 Looking for compile instructions?  Read the file "INSTALL.txt"
@@ -150,7 +150,7 @@ PRINTING FILES
 
 LEGAL STUFF
 
-    CUPS is Copyright 2007-2011 by Apple Inc.  CUPS and the CUPS logo are
+    CUPS is Copyright 2007-2012 by Apple Inc.  CUPS and the CUPS logo are
     trademarks of Apple Inc.
 
     The MD5 Digest code is Copyright 1999 Aladdin Enterprises.
index 4c2047977357523d9b4d71f295eb8a0af602146c..eeb231a2e716202b8b839ef9beb12b56377e30a6 100644 (file)
@@ -1,72 +1,70 @@
-ipp.o: ipp.c backend-private.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/snmp-private.h \
-  ../cups/backend.h ../cups/sidechannel.h ../cups/array-private.h
+ipp.o: ipp.c backend-private.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h \
+  ../cups/array-private.h
 lpd.o: lpd.c ../cups/http-private.h ../config.h ../cups/http.h \
   ../cups/versioning.h ../cups/array.h ../cups/md5-private.h \
   ../cups/ipp-private.h ../cups/ipp.h backend-private.h \
-  ../cups/cups-private.h ../cups/cups.h ../cups/file.h \
-  ../cups/language.h ../cups/string-private.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h \
-  ../cups/sidechannel.h
-dnssd.o: dnssd.c backend-private.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/snmp-private.h \
-  ../cups/backend.h ../cups/sidechannel.h
-snmp.o: snmp.c backend-private.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/snmp-private.h \
-  ../cups/backend.h ../cups/sidechannel.h
+  ../cups/cups-private.h ../cups/string-private.h \
+  ../cups/debug-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h
+dnssd.o: dnssd.c backend-private.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h
+snmp.o: snmp.c backend-private.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h
 socket.o: socket.c ../cups/http-private.h ../config.h ../cups/http.h \
   ../cups/versioning.h ../cups/array.h ../cups/md5-private.h \
   ../cups/ipp-private.h ../cups/ipp.h backend-private.h \
-  ../cups/cups-private.h ../cups/cups.h ../cups/file.h \
-  ../cups/language.h ../cups/string-private.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h \
-  ../cups/sidechannel.h
+  ../cups/cups-private.h ../cups/string-private.h \
+  ../cups/debug-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h
 test1284.o: test1284.c ../cups/string-private.h ../config.h ieee1284.c \
-  backend-private.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h \
-  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
-  ../cups/language.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/snmp-private.h \
-  ../cups/backend.h ../cups/sidechannel.h
+  backend-private.h ../cups/cups-private.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h
 testbackend.o: testbackend.c ../cups/string-private.h ../config.h \
   ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h \
   ../cups/http.h ../cups/array.h ../cups/language.h \
   ../cups/sidechannel.h
 testsupplies.o: testsupplies.c backend-private.h ../cups/cups-private.h \
-  ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h \
-  ../cups/http.h ../cups/array.h ../cups/language.h \
   ../cups/string-private.h ../config.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/http-private.h ../cups/md5-private.h ../cups/ipp-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h \
-  ../cups/sidechannel.h
-usb.o: usb.c backend-private.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/snmp-private.h \
-  ../cups/backend.h ../cups/sidechannel.h usb-darwin.c \
-  ../cups/file-private.h
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h
+usb.o: usb.c backend-private.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h \
+  usb-darwin.c ../cups/file-private.h
index a7e2b99d6dee42290ec81637244f60c5346b468f..625e337d7f4a658d2330b53c4df8c3f3e45afa2c 100644 (file)
@@ -21,6 +21,12 @@ include ../Makedefs
 # Object files...
 #
 
+# RBACKENDS are installed mode 0700 so cupsd will run them as root...
+#
+# UBACKENDS are installed mode 0755 so cupsd will run them as an unprivileged
+# user...
+#
+# See http://www.cups.org/documentation.php/api-filter.html for more info...
 RBACKENDS =    \
                ipp \
                lpd \
index 35c44e30df7e9bae8257f515db7f37e5b17b1f2d..2984407df1cf1b0483862e81c2ccf8e93f7a254a 100644 (file)
  *
  * Contents:
  *
- *   main()                  - Browse for printers.
- *   browse_callback()       - Browse devices.
+ *   main()                 - Browse for printers.
+ *   browse_callback()      - Browse devices.
  *   browse_local_callback() - Browse local devices.
- *   compare_devices()       - Compare two devices.
- *   exec_backend()          - Execute the backend that corresponds to the
- *                             resolved service name.
- *   get_device()            - Create or update a device.
- *   query_callback()        - Process query data.
- *   sigterm_handler()       - Handle termination signals...
- *   unquote()               - Unquote a name string.
+ *   client_callback()       - Avahi client callback function.
+ *   compare_devices()      - Compare two devices.
+ *   exec_backend()         - Execute the backend that corresponds to the
+ *                            resolved service name.
+ *   device_type()          - Get DNS-SD type enumeration from string.
+ *   get_device()           - Create or update a device.
+ *   query_callback()       - Process query data.
+ *   find_device()          - Find a device from its name and domain.
+ *   sigterm_handler()      - Handle termination signals.
+ *   unquote()              - Unquote a name string.
  */
 
 /*
 
 #include "backend-private.h"
 #include <cups/array.h>
-#include <dns_sd.h>
+#ifdef HAVE_DNSSD
+#  include <dns_sd.h>
+#endif /* HAVE_DNSSD */
+#ifdef HAVE_AVAHI
+#  include <avahi-client/client.h>
+#  include <avahi-client/lookup.h>
+#  include <avahi-common/simple-watch.h>
+#  include <avahi-common/domain.h>
+#  include <avahi-common/error.h>
+#  include <avahi-common/malloc.h>
+#define kDNSServiceMaxDomainName AVAHI_DOMAIN_NAME_MAX
+#endif /* HAVE_AVAHI */
 
 
 /*
@@ -53,7 +67,12 @@ typedef enum
 
 typedef struct
 {
-  DNSServiceRef        ref;                    /* Service reference for resolve */
+#ifdef HAVE_DNSSD
+  DNSServiceRef        ref;                    /* Service reference for query */
+#endif /* HAVE_DNSSD */
+#ifdef HAVE_AVAHI
+  AvahiRecordBrowser *ref;             /* Browser for query */
+#endif /* HAVE_AVAHI */
   char         *name,                  /* Service name */
                *domain,                /* Domain name */
                *fullName,              /* Full name */
@@ -72,12 +91,18 @@ typedef struct
 
 static int             job_canceled = 0;
                                        /* Set to 1 on SIGTERM */
+#ifdef HAVE_AVAHI
+static AvahiSimplePoll *simple_poll = NULL;
+                                       /* Poll information */
+static int             got_data = 0;   /* Got data from poll? */
+#endif /* HAVE_AVAHI */
 
 
 /*
  * Local functions...
  */
 
+#ifdef HAVE_DNSSD
 static void            browse_callback(DNSServiceRef sdRef,
                                        DNSServiceFlags flags,
                                        uint32_t interfaceIndex,
@@ -95,6 +120,22 @@ static void         browse_local_callback(DNSServiceRef sdRef,
                                              const char *replyDomain,
                                              void *context)
                                              __attribute__((nonnull(1,5,6,7,8)));
+#endif /* HAVE_DNSSD */
+#ifdef HAVE_AVAHI
+static void            browse_callback(AvahiServiceBrowser *browser,
+                                       AvahiIfIndex interface,
+                                       AvahiProtocol protocol,
+                                       AvahiBrowserEvent event,
+                                       const char *serviceName,
+                                       const char *regtype,
+                                       const char *replyDomain,
+                                       AvahiLookupResultFlags flags,
+                                       void *context);
+static void            client_callback(AvahiClient *client,
+                                       AvahiClientState state,
+                                       void *context);
+#endif /* HAVE_AVAHI */
+
 static int             compare_devices(cups_device_t *a, cups_device_t *b);
 static void            exec_backend(char **argv);
 static cups_device_t   *get_device(cups_array_t *devices,
@@ -102,6 +143,7 @@ static cups_device_t        *get_device(cups_array_t *devices,
                                    const char *regtype,
                                    const char *replyDomain)
                                    __attribute__((nonnull(1,2,3,4)));
+#ifdef HAVE_DNSSD
 static void            query_callback(DNSServiceRef sdRef,
                                       DNSServiceFlags flags,
                                       uint32_t interfaceIndex,
@@ -111,6 +153,20 @@ static void                query_callback(DNSServiceRef sdRef,
                                       const void *rdata, uint32_t ttl,
                                       void *context)
                                       __attribute__((nonnull(1,5,9,11)));
+#elif defined(HAVE_AVAHI)
+static int             poll_callback(struct pollfd *pollfds,
+                                     unsigned int num_pollfds, int timeout,
+                                     void *context);
+static void            query_callback(AvahiRecordBrowser *browser,
+                                      AvahiIfIndex interface,
+                                      AvahiProtocol protocol,
+                                      AvahiBrowserEvent event,
+                                      const char *name, uint16_t rrclass,
+                                      uint16_t rrtype, const void *rdata,
+                                      size_t rdlen,
+                                      AvahiLookupResultFlags flags,
+                                      void *context);
+#endif /* HAVE_DNSSD */
 static void            sigterm_handler(int sig);
 static void            unquote(char *dst, const char *src, size_t dstsize)
                            __attribute__((nonnull(1,2)));
@@ -125,6 +181,13 @@ main(int  argc,                            /* I - Number of command-line args */
      char *argv[])                     /* I - Command-line arguments */
 {
   const char   *name;                  /* Backend name */
+  cups_array_t *devices;               /* Device array */
+  cups_device_t        *device;                /* Current device */
+  char         uriName[1024];          /* Unquoted fullName for URI */
+#ifdef HAVE_DNSSD
+  int          fd;                     /* Main file descriptor */
+  fd_set       input;                  /* Input set for select() */
+  struct timeval timeout;              /* Timeout for select() */
   DNSServiceRef        main_ref,               /* Main service reference */
                fax_ipp_ref,            /* IPP fax service reference */
                ipp_ref,                /* IPP service reference */
@@ -138,12 +201,11 @@ main(int  argc,                           /* I - Number of command-line args */
                pdl_datastream_ref,     /* AppSocket service reference */
                printer_ref,            /* LPD service reference */
                riousbprint_ref;        /* Remote IO service reference */
-  int          fd;                     /* Main file descriptor */
-  fd_set       input;                  /* Input set for select() */
-  struct timeval timeout;              /* Timeout for select() */
-  cups_array_t *devices;               /* Device array */
-  cups_device_t        *device;                /* Current device */
-  char         uriName[1024];          /* Unquoted fullName for URI */
+#endif /* HAVE_DNSSD */
+#ifdef HAVE_AVAHI
+  AvahiClient  *client;                /* Client information */
+  int          error;                  /* Error code, if any */
+#endif /* HAVE_AVAHI */
 #if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
   struct sigaction action;             /* Actions for POSIX signals */
 #endif /* HAVE_SIGACTION && !HAVE_SIGSET */
@@ -203,6 +265,7 @@ main(int  argc,                             /* I - Number of command-line args */
   * Browse for different kinds of printers...
   */
 
+#ifdef HAVE_DNSSD
   if (DNSServiceCreateConnection(&main_ref) != kDNSServiceErr_NoError)
   {
     perror("ERROR: Unable to create service connection");
@@ -263,6 +326,52 @@ main(int  argc,                            /* I - Number of command-line args */
   riousbprint_ref = main_ref;
   DNSServiceBrowse(&riousbprint_ref, kDNSServiceFlagsShareConnection, 0,
                    "_riousbprint._tcp", NULL, browse_callback, devices);
+#endif /* HAVE_DNSSD */
+
+#ifdef HAVE_AVAHI
+  if ((simple_poll = avahi_simple_poll_new()) == NULL)
+  {
+    fputs("DEBUG: Unable to create avahi simple poll object.\n", stderr);
+    return (1);
+  }
+
+  avahi_simple_poll_set_func(simple_poll, poll_callback, NULL);
+
+  client = avahi_client_new(avahi_simple_poll_get(simple_poll),
+                           0, client_callback, simple_poll, &error);
+  if (!client)
+  {
+    fputs("DEBUG: Unable to create avahi client.\n", stderr);
+    return (1);
+  }
+
+  avahi_service_browser_new(client, AVAHI_IF_UNSPEC,
+                           AVAHI_PROTO_UNSPEC,
+                           "_fax-ipp._tcp", NULL, 0,
+                           browse_callback, devices);
+  avahi_service_browser_new(client, AVAHI_IF_UNSPEC,
+                           AVAHI_PROTO_UNSPEC,
+                           "_ipp._tcp", NULL, 0,
+                           browse_callback, devices);
+  avahi_service_browser_new(client, AVAHI_IF_UNSPEC,
+                           AVAHI_PROTO_UNSPEC,
+                           "_ipp-tls._tcp", NULL, 0,
+                           browse_callback, devices);
+  avahi_service_browser_new(client, AVAHI_IF_UNSPEC,
+                           AVAHI_PROTO_UNSPEC,
+                           "_ipps._tcp", NULL, 0,
+                           browse_callback, devices);
+  avahi_service_browser_new(client, AVAHI_IF_UNSPEC,
+                           AVAHI_PROTO_UNSPEC,
+                           "_pdl-datastream._tcp",
+                           NULL, 0,
+                           browse_callback,
+                           devices);
+  avahi_service_browser_new(client, AVAHI_IF_UNSPEC,
+                           AVAHI_PROTO_UNSPEC,
+                           "_printer._tcp", NULL, 0,
+                           browse_callback, devices);
+#endif /* HAVE_AVAHI */
 
  /*
   * Loop until we are killed...
@@ -270,11 +379,14 @@ main(int  argc,                           /* I - Number of command-line args */
 
   while (!job_canceled)
   {
+    int announce = 0;                  /* Announce printers? */
+
+#ifdef HAVE_DNSSD
     FD_ZERO(&input);
     FD_SET(fd, &input);
 
     timeout.tv_sec  = 0;
-    timeout.tv_usec = 250000;
+    timeout.tv_usec = 500000;
 
     if (select(fd + 1, &input, NULL, NULL, &timeout) < 0)
       continue;
@@ -288,12 +400,36 @@ main(int  argc,                           /* I - Number of command-line args */
       DNSServiceProcessResult(main_ref);
     }
     else
+      announce = 1;
+
+#elif defined(HAVE_AVAHI)
+    got_data = 0;
+
+    if ((error = avahi_simple_poll_iterate(simple_poll, 500)) > 0)
+    {
+     /*
+      * We've been told to exit the loop.  Perhaps the connection to
+      * Avahi failed.
+      */
+
+      break;
+    }
+
+    if (!got_data)
+      announce = 1;
+#endif /* HAVE_DNSSD */
+
+/*    fprintf(stderr, "DEBUG: announce=%d\n", announce);*/
+
+    if (announce)
     {
      /*
       * Announce any devices we've found...
       */
 
+#ifdef HAVE_DNSSD
       DNSServiceErrorType status;      /* DNS query status */
+#endif /* HAVE_DNSSD */
       cups_device_t *best;             /* Best matching device */
       char     device_uri[1024];       /* Device URI */
       int      count;                  /* Number of queries */
@@ -316,36 +452,59 @@ main(int  argc,                           /* I - Number of command-line args */
          * Found the device, now get the TXT record(s) for it...
          */
 
-          if (count < 20)
+          if (count < 50)
          {
-           device->ref = main_ref;
-
            fprintf(stderr, "DEBUG: Querying \"%s\"...\n", device->fullName);
 
+#ifdef HAVE_DNSSD
+           device->ref = main_ref;
+
            status = DNSServiceQueryRecord(&(device->ref),
                                           kDNSServiceFlagsShareConnection,
                                           0, device->fullName,
                                           kDNSServiceType_TXT,
                                           kDNSServiceClass_IN, query_callback,
-                                          devices);
+                                          device);
             if (status != kDNSServiceErr_NoError)
-           {
-             fputs("ERROR: Unable to query for TXT records!\n", stderr);
-             fprintf(stderr, "DEBUG: DNSServiceQueryRecord returned %d\n",
-                     status);
-            }
+             fprintf(stderr,
+                     "ERROR: Unable to query \"%s\" for TXT records: %d\n",
+                     device->fullName, status);
+                                       /* Users never see this */
            else
              count ++;
+
+#else
+           if ((device->ref = avahi_record_browser_new(client, AVAHI_IF_UNSPEC,
+                                                       AVAHI_PROTO_UNSPEC,
+                                                       device->fullName,
+                                                       AVAHI_DNS_CLASS_IN,
+                                                       AVAHI_DNS_TYPE_TXT,
+                                                       0,
+                                                       query_callback,
+                                                       device)) == NULL)
+             fprintf(stderr,
+                     "ERROR: Unable to query \"%s\" for TXT records: %s\n",
+                     device->fullName,
+                     avahi_strerror(avahi_client_errno(client)));
+                                       /* Users never see this */
+           else
+             count ++;
+#endif /* HAVE_AVAHI */
           }
        }
        else if (!device->sent)
        {
+#ifdef HAVE_DNSSD
         /*
          * Got the TXT records, now report the device...
          */
 
          DNSServiceRefDeallocate(device->ref);
-         device->ref = 0;
+#else
+          avahi_record_browser_free(device->ref);
+#endif /* HAVE_DNSSD */
+
+         device->ref = NULL;
 
           if (!best)
            best = device;
@@ -397,6 +556,8 @@ main(int  argc,                             /* I - Number of command-line args */
        sent ++;
       }
 
+      fprintf(stderr, "DEBUG: sent=%d, count=%d\n", sent, count);
+
       if (sent == cupsArrayCount(devices))
        break;
     }
@@ -406,6 +567,7 @@ main(int  argc,                             /* I - Number of command-line args */
 }
 
 
+#ifdef HAVE_DNSSD
 /*
  * 'browse_callback()' - Browse devices.
  */
@@ -494,6 +656,97 @@ browse_local_callback(
          device->fullName);
   device->sent = 1;
 }
+#endif /* HAVE_DNSSD */
+
+
+#ifdef HAVE_AVAHI
+/*
+ * 'browse_callback()' - Browse devices.
+ */
+
+static void
+browse_callback(
+    AvahiServiceBrowser    *browser,   /* I - Browser */
+    AvahiIfIndex           interface,  /* I - Interface index (unused) */
+    AvahiProtocol          protocol,   /* I - Network protocol (unused) */
+    AvahiBrowserEvent      event,      /* I - What happened */
+    const char             *name,      /* I - Service name */
+    const char             *type,      /* I - Registration type */
+    const char             *domain,    /* I - Domain */
+    AvahiLookupResultFlags flags,      /* I - Flags */
+    void                   *context)   /* I - Devices array */
+{
+  AvahiClient *client = avahi_service_browser_get_client(browser);
+                                       /* Client information */
+
+
+  (void)interface;
+  (void)protocol;
+  (void)context;
+
+  switch (event)
+  {
+    case AVAHI_BROWSER_FAILURE:
+       fprintf(stderr, "DEBUG: browse_callback: %s\n",
+               avahi_strerror(avahi_client_errno(client)));
+       avahi_simple_poll_quit(simple_poll);
+       break;
+
+    case AVAHI_BROWSER_NEW:
+       /*
+       * This object is new on the network.
+       */
+
+       if (flags & AVAHI_LOOKUP_RESULT_LOCAL)
+       {
+        /*
+         * This comes from the local machine so ignore it.
+         */
+
+         fprintf(stderr, "DEBUG: Ignoring local service %s.\n", name);
+       }
+       else
+       {
+        /*
+         * Create a device entry for it if it doesn't yet exist.
+         */
+
+         get_device((cups_array_t *)context, name, type, domain);
+       }
+       break;
+
+    case AVAHI_BROWSER_REMOVE:
+    case AVAHI_BROWSER_ALL_FOR_NOW:
+    case AVAHI_BROWSER_CACHE_EXHAUSTED:
+        break;
+  }
+}
+
+
+/*
+ * 'client_callback()' - Avahi client callback function.
+ */
+
+static void
+client_callback(
+    AvahiClient      *client,          /* I - Client information (unused) */
+    AvahiClientState state,            /* I - Current state */
+    void             *context)         /* I - User data (unused) */
+{
+  (void)client;
+  (void)context;
+
+ /*
+  * If the connection drops, quit.
+  */
+
+  if (state == AVAHI_CLIENT_FAILURE)
+  {
+    fputs("DEBUG: Avahi connection failed.\n", stderr);
+    avahi_simple_poll_quit(simple_poll);
+  }
+}
+#endif /* HAVE_AVAHI */
 
 
 /*
@@ -573,6 +826,41 @@ exec_backend(char **argv)          /* I - Command-line arguments */
 }
 
 
+/*
+ * 'device_type()' - Get DNS-SD type enumeration from string.
+ */
+
+static int
+device_type(const char *regtype)
+{
+#ifdef HAVE_AVAHI
+  if (!strcmp(regtype, "_ipp._tcp"))
+    return (CUPS_DEVICE_IPP);
+  else if (!strcmp(regtype, "_ipps._tcp") ||
+          !strcmp(regtype, "_ipp-tls._tcp"))
+    return (CUPS_DEVICE_IPPS);
+  else if (!strcmp(regtype, "_fax-ipp._tcp"))
+    return (CUPS_DEVICE_FAX_IPP);
+  else if (!strcmp(regtype, "_printer._tcp"))
+    return (CUPS_DEVICE_PDL_DATASTREAM);
+#else
+  if (!strcmp(regtype, "_ipp._tcp."))
+    return (CUPS_DEVICE_IPP);
+  else if (!strcmp(regtype, "_ipps._tcp.") ||
+          !strcmp(regtype, "_ipp-tls._tcp."))
+    return (CUPS_DEVICE_IPPS);
+  else if (!strcmp(regtype, "_fax-ipp._tcp."))
+    return (CUPS_DEVICE_FAX_IPP);
+  else if (!strcmp(regtype, "_printer._tcp."))
+    return (CUPS_DEVICE_PRINTER);
+  else if (!strcmp(regtype, "_pdl-datastream._tcp."))
+    return (CUPS_DEVICE_PDL_DATASTREAM);
+#endif /* HAVE_AVAHI */
+
+  return (CUPS_DEVICE_RIOUSBPRINT);
+}
+
+
 /*
  * 'get_device()' - Create or update a device.
  */
@@ -594,20 +882,7 @@ get_device(cups_array_t *devices,  /* I - Device array */
   */
 
   key.name = (char *)serviceName;
-
-  if (!strcmp(regtype, "_ipp._tcp."))
-    key.type = CUPS_DEVICE_IPP;
-  else if (!strcmp(regtype, "_ipps._tcp.") ||
-          !strcmp(regtype, "_ipp-tls._tcp."))
-    key.type = CUPS_DEVICE_IPPS;
-  else if (!strcmp(regtype, "_fax-ipp._tcp."))
-    key.type = CUPS_DEVICE_FAX_IPP;
-  else if (!strcmp(regtype, "_printer._tcp."))
-    key.type = CUPS_DEVICE_PRINTER;
-  else if (!strcmp(regtype, "_pdl-datastream._tcp."))
-    key.type = CUPS_DEVICE_PDL_DATASTREAM;
-  else
-    key.type = CUPS_DEVICE_RIOUSBPRINT;
+  key.type = device_type(regtype);
 
   for (device = cupsArrayFind(devices, &key);
        device;
@@ -627,8 +902,14 @@ get_device(cups_array_t *devices,  /* I - Device array */
         free(device->domain);
        device->domain = strdup(replyDomain);
 
+#ifdef HAVE_DNSSD
        DNSServiceConstructFullName(fullName, device->name, regtype,
                                    replyDomain);
+#else /* HAVE_AVAHI */
+       avahi_service_name_join(fullName, kDNSServiceMaxDomainName,
+                                serviceName, regtype, replyDomain);
+#endif /* HAVE_DNSSD */
+
        free(device->fullName);
        device->fullName = strdup(fullName);
       }
@@ -655,13 +936,55 @@ get_device(cups_array_t *devices, /* I - Device array */
   * Set the "full name" of this service, which is used for queries...
   */
 
+#ifdef HAVE_DNSSD
   DNSServiceConstructFullName(fullName, serviceName, regtype, replyDomain);
+#else /* HAVE_AVAHI */
+  avahi_service_name_join(fullName, kDNSServiceMaxDomainName,
+                          serviceName, regtype, replyDomain);
+#endif /* HAVE_DNSSD */
+
   device->fullName = strdup(fullName);
 
   return (device);
 }
 
 
+#ifdef HAVE_AVAHI
+/*
+ * 'poll_callback()' - Wait for input on the specified file descriptors.
+ *
+ * Note: This function is needed because avahi_simple_poll_iterate is broken
+ *       and always uses a timeout of 0 (!) milliseconds.
+ *       (Avahi Ticket #364)
+ */
+
+static int                             /* O - Number of file descriptors matching */
+poll_callback(
+    struct pollfd *pollfds,            /* I - File descriptors */
+    unsigned int  num_pollfds,         /* I - Number of file descriptors */
+    int           timeout,             /* I - Timeout in milliseconds (unused) */
+    void          *context)            /* I - User data (unused) */
+{
+  int  val;                            /* Return value */
+
+
+  (void)timeout;
+  (void)context;
+
+  val = poll(pollfds, num_pollfds, 500);
+
+  if (val < 0)
+    fprintf(stderr, "DEBUG: poll_callback: %s\n", strerror(errno));
+  else if (val > 0)
+    got_data = 1;
+
+  return (val);
+}
+#endif /* HAVE_AVAHI */
+
+
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+#  ifdef HAVE_DNSSD
 /*
  * 'query_callback()' - Process query data.
  */
@@ -678,15 +1001,46 @@ query_callback(
     uint16_t            rdlen,         /* I - Length of record data */
     const void          *rdata,                /* I - Record data */
     uint32_t            ttl,           /* I - Time-to-live */
-    void                *context)      /* I - Devices array */
+    void                *context)      /* I - Device */
 {
-  cups_array_t *devices;               /* Device array */
-  char         name[1024],             /* Service name */
-               *ptr;                   /* Pointer into string */
-  cups_device_t        dkey,                   /* Search key */
-               *device;                /* Device */
-
+#  else
+/*
+ * 'query_callback()' - Process query data.
+ */
 
+static void
+query_callback(
+    AvahiRecordBrowser     *browser,   /* I - Record browser */
+    AvahiIfIndex           interfaceIndex,
+                                       /* I - Interface index (unused) */
+    AvahiProtocol          protocol,   /* I - Network protocol (unused) */
+    AvahiBrowserEvent      event,      /* I - What happened? */
+    const char             *fullName,  /* I - Service name */
+    uint16_t               rrclass,    /* I - Record class */
+    uint16_t               rrtype,     /* I - Record type */
+    const void             *rdata,     /* I - TXT record */
+    size_t                 rdlen,      /* I - Length of TXT record */
+    AvahiLookupResultFlags flags,      /* I - Flags */
+    void                   *context)   /* I - Device */
+{
+  AvahiClient          *client = avahi_record_browser_get_client(browser);
+                                       /* Client information */
+#  endif /* HAVE_DNSSD */
+  char         *ptr;                   /* Pointer into string */
+  cups_device_t        *device = (cups_device_t *)context;
+                                       /* Device */
+  const uint8_t        *data,                  /* Pointer into data */
+               *datanext,              /* Next key/value pair */
+               *dataend;               /* End of entire TXT record */
+  uint8_t      datalen;                /* Length of current key/value pair */
+  char         key[256],               /* Key string */
+               value[256],             /* Value string */
+               make_and_model[512],    /* Manufacturer and model */
+               model[256],             /* Model */
+               device_id[2048];        /* 1284 device ID */
+
+
+#  ifdef HAVE_DNSSD
   fprintf(stderr, "DEBUG2: query_callback(sdRef=%p, flags=%x, "
                   "interfaceIndex=%d, errorCode=%d, fullName=\"%s\", "
                  "rrtype=%u, rrclass=%u, rdlen=%u, rdata=%p, ttl=%u, "
@@ -702,221 +1056,183 @@ query_callback(
   if (errorCode != kDNSServiceErr_NoError || !(flags & kDNSServiceFlagsAdd))
     return;
 
+#  else
+  fprintf(stderr, "DEBUG2: query_callback(browser=%p, interfaceIndex=%d, "
+                  "protocol=%d, event=%d, fullName=\"%s\", rrclass=%u, "
+                 "rrtype=%u, rdata=%p, rdlen=%u, flags=%x, context=%p)\n",
+          browser, interfaceIndex, protocol, event,
+         fullName ? fullName : "(null)", rrclass, rrtype, rdata,
+         (unsigned)rdlen, flags, context);
+
  /*
-  * Lookup the service in the devices array.
+  * Only process "add" data...
   */
 
-  devices   = (cups_array_t *)context;
-  dkey.name = name;
+  if (event != AVAHI_BROWSER_NEW)
+  {
+    if (event == AVAHI_BROWSER_FAILURE)
+      fprintf(stderr, "ERROR: %s\n",
+             avahi_strerror(avahi_client_errno(client)));
 
-  unquote(name, fullName, sizeof(name));
+    return;
+  }
+#  endif /* HAVE_DNSSD */
 
-  if ((dkey.domain = strstr(name, "._tcp.")) != NULL)
-    dkey.domain += 6;
-  else
-    dkey.domain = (char *)"local.";
+ /*
+  * Pull out the priority and make and model from the TXT
+  * record and save it...
+  */
 
-  if ((ptr = strstr(name, "._")) != NULL)
-    *ptr = '\0';
+  device_id[0]      = '\0';
+  make_and_model[0] = '\0';
 
-  if (strstr(fullName, "_ipp._tcp."))
-    dkey.type = CUPS_DEVICE_IPP;
-  else if (strstr(fullName, "_ipps._tcp.") ||
-           strstr(fullName, "_ipp-tls._tcp."))
-    dkey.type = CUPS_DEVICE_IPPS;
-  else if (strstr(fullName, "_fax-ipp._tcp."))
-    dkey.type = CUPS_DEVICE_FAX_IPP;
-  else if (strstr(fullName, "_printer._tcp."))
-    dkey.type = CUPS_DEVICE_PRINTER;
-  else if (strstr(fullName, "_pdl-datastream._tcp."))
-    dkey.type = CUPS_DEVICE_PDL_DATASTREAM;
-  else
-    dkey.type = CUPS_DEVICE_RIOUSBPRINT;
+  strcpy(model, "Unknown");
 
-  for (device = cupsArrayFind(devices, &dkey);
-       device;
-       device = cupsArrayNext(devices))
+  for (data = rdata, dataend = data + rdlen;
+       data < dataend;
+       data = datanext)
   {
-    if (_cups_strcasecmp(device->name, dkey.name) ||
-        _cups_strcasecmp(device->domain, dkey.domain))
-    {
-      device = NULL;
+   /*
+    * Read a key/value pair starting with an 8-bit length.  Since the
+    * length is 8 bits and the size of the key/value buffers is 256, we
+    * don't need to check for overflow...
+    */
+
+    datalen = *data++;
+
+    if (!datalen || (data + datalen) > dataend)
       break;
-    }
-    else if (device->type == dkey.type)
+
+    datanext = data + datalen;
+
+    for (ptr = key; data < datanext && *data != '='; data ++)
+      *ptr++ = *data;
+    *ptr = '\0';
+
+    if (data < datanext && *data == '=')
     {
-     /*
-      * Found it, pull out the priority and make and model from the TXT
-      * record and save it...
-      */
+      data ++;
 
-      const uint8_t    *data,          /* Pointer into data */
-                       *datanext,      /* Next key/value pair */
-                       *dataend;       /* End of entire TXT record */
-      uint8_t          datalen;        /* Length of current key/value pair */
-      char             key[256],       /* Key string */
-                       value[256],     /* Value string */
-                       make_and_model[512],
-                                       /* Manufacturer and model */
-                       model[256],     /* Model */
-                       device_id[2048];/* 1284 device ID */
+      if (data < datanext)
+       memcpy(value, data, datanext - data);
+      value[datanext - data] = '\0';
 
+      fprintf(stderr, "DEBUG2: query_callback: \"%s=%s\".\n",
+             key, value);
+    }
+    else
+    {
+      fprintf(stderr, "DEBUG2: query_callback: \"%s\" with no value.\n",
+             key);
+      continue;
+    }
 
-      device_id[0]      = '\0';
-      make_and_model[0] = '\0';
+    if (!_cups_strncasecmp(key, "usb_", 4))
+    {
+     /*
+      * Add USB device ID information...
+      */
 
-      strcpy(model, "Unknown");
+      ptr = device_id + strlen(device_id);
+      snprintf(ptr, sizeof(device_id) - (ptr - device_id), "%s:%s;",
+              key + 4, value);
+    }
 
-      for (data = rdata, dataend = data + rdlen;
-           data < dataend;
-           data = datanext)
+    if (!_cups_strcasecmp(key, "usb_MFG") || !_cups_strcasecmp(key, "usb_MANU") ||
+       !_cups_strcasecmp(key, "usb_MANUFACTURER"))
+      strcpy(make_and_model, value);
+    else if (!_cups_strcasecmp(key, "usb_MDL") || !_cups_strcasecmp(key, "usb_MODEL"))
+      strcpy(model, value);
+    else if (!_cups_strcasecmp(key, "product") && !strstr(value, "Ghostscript"))
+    {
+      if (value[0] == '(')
       {
        /*
-        * Read a key/value pair starting with an 8-bit length.  Since the
-       * length is 8 bits and the size of the key/value buffers is 256, we
-       * don't need to check for overflow...
+       * Strip parenthesis...
        */
 
-        datalen = *data++;
+       if ((ptr = value + strlen(value) - 1) > value && *ptr == ')')
+         *ptr = '\0';
 
-        if (!datalen || (data + datalen) > dataend)
-         break;
-
-        datanext = data + datalen;
+       strcpy(model, value + 1);
+      }
+      else
+       strcpy(model, value);
+    }
+    else if (!_cups_strcasecmp(key, "ty"))
+    {
+      strcpy(model, value);
 
-        for (ptr = key; data < datanext && *data != '='; data ++)
-         *ptr++ = *data;
+      if ((ptr = strchr(model, ',')) != NULL)
        *ptr = '\0';
+    }
+    else if (!_cups_strcasecmp(key, "priority"))
+      device->priority = atoi(value);
+    else if ((device->type == CUPS_DEVICE_IPP ||
+             device->type == CUPS_DEVICE_IPPS ||
+             device->type == CUPS_DEVICE_PRINTER) &&
+            !_cups_strcasecmp(key, "printer-type"))
+    {
+     /*
+      * This is a CUPS printer!
+      */
 
-       if (data < datanext && *data == '=')
-       {
-         data ++;
-
-         if (data < datanext)
-           memcpy(value, data, datanext - data);
-         value[datanext - data] = '\0';
-
-         fprintf(stderr, "DEBUG2: query_callback: \"%s=%s\".\n",
-                 key, value);
-       }
-       else
-       {
-         fprintf(stderr, "DEBUG2: query_callback: \"%s\" with no value.\n",
-                 key);
-         continue;
-       }
-
-        if (!_cups_strncasecmp(key, "usb_", 4))
-       {
-        /*
-         * Add USB device ID information...
-         */
-
-         ptr = device_id + strlen(device_id);
-         snprintf(ptr, sizeof(device_id) - (ptr - device_id), "%s:%s;",
-                  key + 4, value);
-        }
-
-        if (!_cups_strcasecmp(key, "usb_MFG") || !_cups_strcasecmp(key, "usb_MANU") ||
-           !_cups_strcasecmp(key, "usb_MANUFACTURER"))
-         strcpy(make_and_model, value);
-        else if (!_cups_strcasecmp(key, "usb_MDL") || !_cups_strcasecmp(key, "usb_MODEL"))
-         strcpy(model, value);
-       else if (!_cups_strcasecmp(key, "product") && !strstr(value, "Ghostscript"))
-       {
-         if (value[0] == '(')
-         {
-          /*
-           * Strip parenthesis...
-           */
-
-            if ((ptr = value + strlen(value) - 1) > value && *ptr == ')')
-             *ptr = '\0';
-
-           strcpy(model, value + 1);
-         }
-         else
-           strcpy(model, value);
-        }
-       else if (!_cups_strcasecmp(key, "ty"))
-       {
-          strcpy(model, value);
-
-         if ((ptr = strchr(model, ',')) != NULL)
-           *ptr = '\0';
-       }
-       else if (!_cups_strcasecmp(key, "priority"))
-         device->priority = atoi(value);
-       else if ((device->type == CUPS_DEVICE_IPP ||
-                 device->type == CUPS_DEVICE_IPPS ||
-                 device->type == CUPS_DEVICE_PRINTER) &&
-                !_cups_strcasecmp(key, "printer-type"))
-       {
-        /*
-         * This is a CUPS printer!
-         */
-
-         device->cups_shared = 1;
+      device->cups_shared = 1;
 
-         if (device->type == CUPS_DEVICE_PRINTER)
-           device->sent = 1;
-       }
-      }
+      if (device->type == CUPS_DEVICE_PRINTER)
+       device->sent = 1;
+    }
+  }
 
-      if (device->device_id)
-        free(device->device_id);
+  if (device->device_id)
+    free(device->device_id);
 
-      if (!device_id[0] && strcmp(model, "Unknown"))
-      {
-        if (make_and_model[0])
-         snprintf(device_id, sizeof(device_id), "MFG:%s;MDL:%s;",
-                  make_and_model, model);
-        else if (!_cups_strncasecmp(model, "designjet ", 10))
-         snprintf(device_id, sizeof(device_id), "MFG:HP;MDL:%s", model + 10);
-        else if (!_cups_strncasecmp(model, "stylus ", 7))
-         snprintf(device_id, sizeof(device_id), "MFG:EPSON;MDL:%s", model + 7);
-        else if ((ptr = strchr(model, ' ')) != NULL)
-       {
-        /*
-         * Assume the first word is the make...
-         */
+  if (!device_id[0] && strcmp(model, "Unknown"))
+  {
+    if (make_and_model[0])
+      snprintf(device_id, sizeof(device_id), "MFG:%s;MDL:%s;",
+              make_and_model, model);
+    else if (!_cups_strncasecmp(model, "designjet ", 10))
+      snprintf(device_id, sizeof(device_id), "MFG:HP;MDL:%s", model + 10);
+    else if (!_cups_strncasecmp(model, "stylus ", 7))
+      snprintf(device_id, sizeof(device_id), "MFG:EPSON;MDL:%s", model + 7);
+    else if ((ptr = strchr(model, ' ')) != NULL)
+    {
+     /*
+      * Assume the first word is the make...
+      */
 
-          memcpy(make_and_model, model, ptr - model);
-         make_and_model[ptr - model] = '\0';
+      memcpy(make_and_model, model, ptr - model);
+      make_and_model[ptr - model] = '\0';
 
-         snprintf(device_id, sizeof(device_id), "MFG:%s;MDL:%s",
-                  make_and_model, ptr + 1);
-        }
-      }
+      snprintf(device_id, sizeof(device_id), "MFG:%s;MDL:%s",
+              make_and_model, ptr + 1);
+    }
+  }
 
-      if (device_id[0])
-        device->device_id = strdup(device_id);
-      else
-        device->device_id = NULL;
+  if (device_id[0])
+    device->device_id = strdup(device_id);
+  else
+    device->device_id = NULL;
 
-      if (device->make_and_model)
-       free(device->make_and_model);
+  if (device->make_and_model)
+    free(device->make_and_model);
 
-      if (make_and_model[0])
-      {
-       strlcat(make_and_model, " ", sizeof(make_and_model));
-       strlcat(make_and_model, model, sizeof(make_and_model));
+  if (make_and_model[0])
+  {
+    strlcat(make_and_model, " ", sizeof(make_and_model));
+    strlcat(make_and_model, model, sizeof(make_and_model));
 
-       device->make_and_model = strdup(make_and_model);
-      }
-      else
-       device->make_and_model = strdup(model);
-      break;
-    }
+    device->make_and_model = strdup(make_and_model);
   }
-
-  if (!device)
-    fprintf(stderr, "DEBUG: Ignoring TXT record for \"%s\"...\n", fullName);
+  else
+    device->make_and_model = strdup(model);
 }
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 
 
 /*
- * 'sigterm_handler()' - Handle termination signals...
+ * 'sigterm_handler()' - Handle termination signals.
  */
 
 static void
index 826d5b8a84b976b034a7cf8e3f52f5d31f3c85e5..73491452df667621e0601047d133f2656549067a 100644 (file)
@@ -645,6 +645,9 @@ main(int  argc,                             /* I - Number of command-line args */
       update_reasons(NULL, "-connecting-to-device");
       return (CUPS_BACKEND_STOP);
     }
+
+    if (job_canceled)
+      return (CUPS_BACKEND_OK);
   }
 
   http = _httpCreate(hostname, port, addrlist, cupsEncryption(), AF_UNSPEC);
@@ -749,7 +752,7 @@ main(int  argc,                             /* I - Number of command-line args */
          case ECONNREFUSED :
          default :
              _cupsLangPrintFilter(stderr, "WARNING",
-                                  _("The printer is busy."));
+                                  _("The printer is in use."));
              break;
         }
 
@@ -772,7 +775,9 @@ main(int  argc,                             /* I - Number of command-line args */
   }
   while (http->fd < 0);
 
-  if (job_canceled || !http)
+  if (job_canceled)
+    return (CUPS_BACKEND_OK);
+  else if (!http)
     return (CUPS_BACKEND_FAILED);
 
   update_reasons(NULL, "-connecting-to-device");
@@ -864,7 +869,7 @@ main(int  argc,                             /* I - Number of command-line args */
          return (CUPS_BACKEND_FAILED);
        }
 
-       _cupsLangPrintFilter(stderr, "INFO", _("The printer is busy."));
+       _cupsLangPrintFilter(stderr, "INFO", _("The printer is in use."));
 
         report_printer_state(supported);
 
@@ -882,14 +887,14 @@ main(int  argc,                           /* I - Number of command-line args */
         if (version >= 20)
        {
          _cupsLangPrintFilter(stderr, "INFO",
-                              _("Printer does not support IPP/%d.%d, trying "
+                              _("The printer does not support IPP/%d.%d, trying "
                                 "IPP/%s."), version / 10, version % 10, "1.1");
          version = 11;
        }
        else
        {
          _cupsLangPrintFilter(stderr, "INFO",
-                              _("Printer does not support IPP/%d.%d, trying "
+                              _("The printer does not support IPP/%d.%d, trying "
                                 "IPP/%s."), version / 10, version % 10, "1.0");
          version = 10;
         }
@@ -970,7 +975,7 @@ main(int  argc,                             /* I - Number of command-line args */
 
       if (busy)
       {
-       _cupsLangPrintFilter(stderr, "INFO", _("The printer is busy."));
+       _cupsLangPrintFilter(stderr, "INFO", _("The printer is in use."));
 
        report_printer_state(supported);
 
@@ -1092,7 +1097,10 @@ main(int  argc,                          /* I - Number of command-line args */
 
     report_printer_state(supported);
   }
-  while (ipp_status > IPP_OK_CONFLICT);
+  while (!job_canceled && ipp_status > IPP_OK_CONFLICT);
+
+  if (job_canceled)
+    return (CUPS_BACKEND_OK);
 
  /*
   * See if the printer is accepting jobs and is not stopped; if either
@@ -1294,7 +1302,7 @@ main(int  argc,                           /* I - Number of command-line args */
 
     if (ipp_status == IPP_SERVICE_UNAVAILABLE || ipp_status == IPP_PRINTER_BUSY)
     {
-      _cupsLangPrintFilter(stderr, "INFO", _("The printer is busy."));
+      _cupsLangPrintFilter(stderr, "INFO", _("The printer is in use."));
       sleep(10);
     }
     else if (ipp_status == IPP_FORBIDDEN ||
@@ -1442,7 +1450,7 @@ main(int  argc,                           /* I - Number of command-line args */
           ipp_status == IPP_NOT_POSSIBLE ||
          ipp_status == IPP_PRINTER_BUSY)
       {
-       _cupsLangPrintFilter(stderr, "INFO", _("The printer is busy."));
+       _cupsLangPrintFilter(stderr, "INFO", _("The printer is in use."));
        sleep(10);
 
        if (num_files == 0)
@@ -1794,7 +1802,7 @@ main(int  argc,                           /* I - Number of command-line args */
   * Cancel the job as needed...
   */
 
-  if (job_canceled && job_id)
+  if (job_canceled > 0 && job_id > 0)
     cancel_job(http, uri, job_id, resource, argv[2], version);
 
  /*
@@ -1866,18 +1874,19 @@ main(int  argc,                         /* I - Number of command-line args */
   else if (ipp_status == IPP_DOCUMENT_FORMAT ||
            ipp_status == IPP_CONFLICT)
     return (CUPS_BACKEND_FAILED);
-  else if (ipp_status == IPP_REQUEST_VALUE)
+  else if (ipp_status == IPP_REQUEST_VALUE || job_canceled < 0)
   {
-    _cupsLangPrintFilter(stderr, "ERROR", _("Print job too large."));
+    if (ipp_status == IPP_REQUEST_VALUE)
+      _cupsLangPrintFilter(stderr, "ERROR", _("Print job too large."));
+    else
+      _cupsLangPrintFilter(stderr, "ERROR", _("Print job canceled at printer."));
+
     return (CUPS_BACKEND_CANCEL);
   }
   else if (ipp_status > IPP_OK_CONFLICT && ipp_status != IPP_ERROR_JOB_CANCELED)
     return (CUPS_BACKEND_RETRY_CURRENT);
   else
-  {
-    _cupsLangPrintFilter(stderr, "INFO", _("Ready to print."));
     return (CUPS_BACKEND_OK);
-  }
 }
 
 
@@ -2139,7 +2148,7 @@ monitor_printer(
 
       response = cupsDoRequest(http, request, monitor->resource);
 
-      fprintf(stderr, "DEBUG: %s: %s (%s)\n", ippOpString(job_op),
+      fprintf(stderr, "DEBUG: (monitor) %s: %s (%s)\n", ippOpString(job_op),
              ippErrorString(cupsLastError()), cupsLastErrorString());
 
       if (cupsLastError() <= IPP_OK_CONFLICT)
@@ -2203,6 +2212,14 @@ monitor_printer(
 
       ippDelete(response);
 
+      fprintf(stderr, "DEBUG: (monitor) job-state=%s\n",
+              ippEnumString("job-state", monitor->job_state));
+
+      if (!job_canceled &&
+          (monitor->job_state == IPP_JOB_CANCELED ||
+          monitor->job_state == IPP_JOB_ABORTED))
+       job_canceled = -1;
+
      /*
       * Disconnect from the printer - we'll reconnect on the next poll...
       */
@@ -2223,7 +2240,7 @@ monitor_printer(
   * Cancel the job if necessary...
   */
 
-  if (job_canceled && monitor->job_id > 0)
+  if (job_canceled > 0 && monitor->job_id > 0)
     if (!httpReconnect(http))
       cancel_job(http, monitor->uri, monitor->job_id, monitor->resource,
                  monitor->user, monitor->version);
@@ -3000,6 +3017,8 @@ sigterm_handler(int sig)          /* I - Signal */
 {
   (void)sig;   /* remove compiler warnings... */
 
+  write(2, "DEBUG: Got SIGTERM.\n", 20);
+
 #if defined(HAVE_GSSAPI) && defined(HAVE_XPC)
   if (child_pid)
   {
@@ -3014,6 +3033,8 @@ sigterm_handler(int sig)          /* I - Signal */
     * Flag that the job should be canceled...
     */
 
+    write(2, "DEBUG: job_canceled = 1.\n", 25);
+
     job_canceled = 1;
     return;
   }
index 3e3cbfc909a001e9b059d9de7d90f585d1163e63..874606fe92822cd471a427c8dbb678162cc3f40f 100644 (file)
@@ -616,7 +616,7 @@ lpd_command(int  fd,                /* I - Socket connection to LPD host */
 
   if (recv(fd, &status, 1, 0) < 1)
   {
-    _cupsLangPrintFilter(stderr, "WARNING", _("Printer did not respond."));
+    _cupsLangPrintFilter(stderr, "WARNING", _("The printer did not respond."));
     status = errno;
   }
 
@@ -825,7 +825,7 @@ lpd_queue(const char      *hostname,        /* I - Host to connect to */
          case ECONNREFUSED :
          default :
              _cupsLangPrintFilter(stderr, "WARNING",
-                                  _("The printer is busy."));
+                                  _("The printer is in use."));
              break;
         }
 
@@ -1006,7 +1006,7 @@ lpd_queue(const char      *hostname,      /* I - Host to connect to */
         if (read(fd, &status, 1) < 1)
        {
          _cupsLangPrintFilter(stderr, "WARNING",
-                              _("Printer did not respond."));
+                              _("The printer did not respond."));
          status = errno;
        }
       }
@@ -1088,7 +1088,7 @@ lpd_queue(const char      *hostname,      /* I - Host to connect to */
           if (recv(fd, &status, 1, 0) < 1)
          {
            _cupsLangPrintFilter(stderr, "WARNING",
-                                _("Printer did not respond."));
+                                _("The printer did not respond."));
            status = 0;
           }
        }
@@ -1138,7 +1138,7 @@ lpd_queue(const char      *hostname,      /* I - Host to connect to */
         if (read(fd, &status, 1) < 1)
        {
          _cupsLangPrintFilter(stderr, "WARNING",
-                              _("Printer did not respond."));
+                              _("The printer did not respond."));
          status = errno;
        }
       }
index 777b0480199e486e3afd76f656cfc4f15fd95993..0b3f65f7864a55a80304a3b16f24eb6ba348e839 100644 (file)
@@ -92,7 +92,8 @@ backendDrainOutput(int print_fd,      /* I - Print file descriptor */
 
       if (errno != EAGAIN || errno != EINTR)
       {
-        _cupsLangPrintError("ERROR", _("Unable to read print data"));
+       fprintf(stderr, "DEBUG: Read failed: %s\n", strerror(errno));
+       _cupsLangPrintFilter(stderr, "ERROR", _("Unable to read print data."));
        return (-1);
       }
 
@@ -250,7 +251,7 @@ backendRunLoop(
        {
          fputs("STATE: +offline-report\n", stderr);
          _cupsLangPrintFilter(stderr, "INFO",
-                              _("Printer is not currently connected."));
+                              _("The printer is not connected."));
          offline = 1;
        }
        else if (errno == EINTR && total_bytes == 0)
@@ -319,7 +320,9 @@ backendRunLoop(
 
        if (errno != EAGAIN || errno != EINTR)
        {
-         _cupsLangPrintError("ERROR", _("Unable to read print data"));
+         fprintf(stderr, "DEBUG: Read failed: %s\n", strerror(errno));
+         _cupsLangPrintFilter(stderr, "ERROR",
+                              _("Unable to read print data."));
          return (-1);
        }
 
@@ -368,7 +371,7 @@ backendRunLoop(
          {
            fputs("STATE: +offline-report\n", stderr);
            _cupsLangPrintFilter(stderr, "INFO",
-                                _("Printer is not currently connected."));
+                                _("The printer is not connected."));
            offline = 1;
          }
        }
@@ -389,7 +392,8 @@ backendRunLoop(
        if (offline && update_state)
        {
          fputs("STATE: -offline-report\n", stderr);
-         _cupsLangPrintFilter(stderr, "INFO", _("Printer is now connected."));
+         _cupsLangPrintFilter(stderr, "INFO",
+                              _("The printer is now connected."));
          offline = 0;
        }
 
index 366a655e56b06fffc0ee2e460cc142dca0cd945b..f40d837fb4ba331717e1411d50cc285208660d6d 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   AppSocket backend for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -371,7 +371,7 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
          case ECONNREFUSED :
          default :
              _cupsLangPrintFilter(stderr, "WARNING",
-                                  _("The printer is busy."));
+                                  _("The printer is in use."));
              break;
         }
 
@@ -472,8 +472,6 @@ main(int  argc,                             /* I - Number of command-line arguments (6 or 7) */
   if (print_fd != 0)
     close(print_fd);
 
-  _cupsLangPrintFilter(stderr, "INFO", _("Ready to print."));
-
   return (CUPS_BACKEND_OK);
 }
 
index 44a14ba0b36b5418b11f6c53b18353e8744412df..187bf3f5429ac64826cc02637c9be3aa455a99a2 100644 (file)
@@ -1,7 +1,7 @@
 /*
 * "$Id: usb-darwin.c 7953 2008-09-17 01:43:19Z mike $"
 *
-* Copyright 2005-2011 Apple Inc. All rights reserved.
+* Copyright 2005-2012 Apple 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
@@ -820,10 +820,10 @@ print_device(const char *uri,             /* I - Device URI */
    /*
     * If it didn't exit abort the pending read and wait an additional second...
     */
-  
+
     if (!g.read_thread_done)
     {
-      fputs("DEBUG: Read thread still active, aborting the pending read...\n", 
+      fputs("DEBUG: Read thread still active, aborting the pending read...\n",
            stderr);
 
       g.wait_eof = 0;
@@ -833,7 +833,7 @@ print_device(const char *uri,               /* I - Device URI */
       gettimeofday(&tv, NULL);
       cond_timeout.tv_sec  = tv.tv_sec + 1;
       cond_timeout.tv_nsec = tv.tv_usec * 1000;
-  
+
       while (!g.read_thread_done)
       {
        if (pthread_cond_timedwait(&g.read_thread_cond, &g.read_thread_mutex,
@@ -1283,7 +1283,7 @@ static Boolean find_device_cb(void *refcon,
   if (!keepLooking && g.status_timer != NULL)
   {
     fputs("STATE: -offline-report\n", stderr);
-    _cupsLangPrintFilter(stderr, "INFO", _("Printer is now online."));
+    _cupsLangPrintFilter(stderr, "INFO", _("The printer is now online."));
     CFRunLoopRemoveTimer(CFRunLoopGetCurrent(), g.status_timer, kCFRunLoopDefaultMode);
     CFRelease(g.status_timer);
     g.status_timer = NULL;
@@ -1304,7 +1304,7 @@ static void status_timer_cb(CFRunLoopTimerRef timer,
   (void)info;
 
   fputs("STATE: +offline-report\n", stderr);
-  _cupsLangPrintFilter(stderr, "INFO", _("Printer is offline."));
+  _cupsLangPrintFilter(stderr, "INFO", _("The printer is offline."));
 
   if (getenv("CLASS") != NULL)
   {
index 92d63bfd2c9f85f2632f0d82e9c565c8c626033c..b06825f78c84da2c8fa96200032d9aededd4e5ae 100644 (file)
@@ -5,7 +5,7 @@
  *
  *   This file is included from "usb.c" when compiled on UNIX/Linux.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -128,16 +128,12 @@ print_device(const char *uri,             /* I - Device URI */
 
       if (errno == EBUSY)
       {
-        _cupsLangPrintFilter(stderr, "INFO",
-                            _("Printer busy, will retry in 10 seconds."));
+        _cupsLangPrintFilter(stderr, "INFO", _("The printer is in use."));
        sleep(10);
       }
       else if (errno == ENXIO || errno == EIO || errno == ENOENT ||
                errno == ENODEV)
       {
-        _cupsLangPrintFilter(stderr, "INFO",
-                            _("Printer not connected, will retry in 30 "
-                              "seconds."));
        sleep(30);
       }
       else
@@ -425,8 +421,7 @@ open_device(const char *uri,                /* I - Device URI */
       */
 
       if (busy)
-       _cupsLangPrintFilter(stderr, "INFO",
-                            _("Printer is busy, will retry in 5 seconds."));
+       _cupsLangPrintFilter(stderr, "INFO", _("The printer is in use."));
 
       sleep(5);
     }
@@ -509,8 +504,7 @@ open_device(const char *uri,                /* I - Device URI */
 
       if (busy)
       {
-       _cupsLangPrintFilter(stderr, "INFO",
-                            _("Printer is busy, will retry in 5 seconds."));
+       _cupsLangPrintFilter(stderr, "INFO", _("The printer is in use."));
        sleep(5);
       }
     }
index 9beac1b39c05f2638e5a685d55d5e71b70235742..46b71d9241afeb116cdd265cf98274a2ce093c41 100644 (file)
@@ -1,28 +1,25 @@
-lpc.o: lpc.c ../cups/cups-private.h ../cups/cups.h ../cups/file.h \
-  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
-  ../cups/language.h ../cups/string-private.h ../config.h \
-  ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h \
-  ../cups/pwg-private.h ../cups/http-private.h ../cups/md5-private.h \
-  ../cups/ipp-private.h ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
-lpq.o: lpq.c ../cups/cups-private.h ../cups/cups.h ../cups/file.h \
-  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
-  ../cups/language.h ../cups/string-private.h ../config.h \
-  ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h \
-  ../cups/pwg-private.h ../cups/http-private.h ../cups/md5-private.h \
-  ../cups/ipp-private.h ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
-lpr.o: lpr.c ../cups/cups-private.h ../cups/cups.h ../cups/file.h \
-  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
-  ../cups/language.h ../cups/string-private.h ../config.h \
-  ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h \
-  ../cups/pwg-private.h ../cups/http-private.h ../cups/md5-private.h \
-  ../cups/ipp-private.h ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
-lprm.o: lprm.c ../cups/cups-private.h ../cups/cups.h ../cups/file.h \
-  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
-  ../cups/language.h ../cups/string-private.h ../config.h \
-  ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h \
-  ../cups/pwg-private.h ../cups/http-private.h ../cups/md5-private.h \
-  ../cups/ipp-private.h ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
+lpc.o: lpc.c ../cups/cups-private.h ../cups/string-private.h ../config.h \
+  ../cups/debug-private.h ../cups/versioning.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+lpq.o: lpq.c ../cups/cups-private.h ../cups/string-private.h ../config.h \
+  ../cups/debug-private.h ../cups/versioning.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+lpr.o: lpr.c ../cups/cups-private.h ../cups/string-private.h ../config.h \
+  ../cups/debug-private.h ../cups/versioning.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+lprm.o: lprm.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
index dcfc2dc47d98d90913d2cde1f29183cf030a6060..d0f488e5a79a15fb7f9a05d101d1d835d7f91452 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Administration CGI for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -523,7 +523,7 @@ do_add_rss_subscription(http_t *http)       /* I - HTTP connection */
   else if (cupsLastError() > IPP_OK_CONFLICT)
   {
     cgiStartHTML(_("Add RSS Subscription"));
-    cgiShowIPPError(_("Unable to add RSS subscription:"));
+    cgiShowIPPError(_("Unable to add RSS subscription"));
   }
   else
   {
@@ -810,8 +810,8 @@ do_am_class(http_t *http,           /* I - HTTP connection */
   else if (cupsLastError() > IPP_OK_CONFLICT)
   {
     cgiStartHTML(title);
-    cgiShowIPPError(modify ? _("Unable to modify class:") :
-                             _("Unable to add class:"));
+    cgiShowIPPError(modify ? _("Unable to modify class") :
+                             _("Unable to add class"));
   }
   else
   {
@@ -1055,8 +1055,8 @@ do_am_printer(http_t *http,               /* I - HTTP connection */
       else
       {
        cgiStartHTML(title);
-       cgiShowIPPError(modify ? _("Unable to modify printer:") :
-                                _("Unable to add printer:"));
+       cgiShowIPPError(modify ? _("Unable to modify printer") :
+                                _("Unable to add printer"));
        cgiEndHTML();
         return;
       }
@@ -1317,7 +1317,7 @@ do_am_printer(http_t *http,               /* I - HTTP connection */
     else
     {
       cgiStartHTML(title);
-      cgiShowIPPError(_("Unable to get list of printer drivers:"));
+      cgiShowIPPError(_("Unable to get list of printer drivers"));
       cgiCopyTemplateLang("error.tmpl");
       cgiEndHTML();
     }
@@ -1415,8 +1415,8 @@ do_am_printer(http_t *http,               /* I - HTTP connection */
     else if (cupsLastError() > IPP_OK_CONFLICT)
     {
       cgiStartHTML(title);
-      cgiShowIPPError(modify ? _("Unable to modify printer:") :
-                               _("Unable to add printer:"));
+      cgiShowIPPError(modify ? _("Unable to modify printer") :
+                               _("Unable to add printer"));
     }
     else if (modify)
     {
@@ -1522,7 +1522,7 @@ do_cancel_subscription(http_t *http)/* I - HTTP connection */
   else if (cupsLastError() > IPP_OK_CONFLICT)
   {
     cgiStartHTML(_("Cancel RSS Subscription"));
-    cgiShowIPPError(_("Unable to cancel RSS subscription:"));
+    cgiShowIPPError(_("Unable to cancel RSS subscription"));
   }
   else
   {
@@ -1654,7 +1654,7 @@ do_config_server(http_t *http)            /* I - HTTP connection */
     {
       cgiStartHTML(cgiText(_("Change Settings")));
       cgiSetVariable("MESSAGE",
-                     cgiText(_("Unable to change server settings:")));
+                     cgiText(_("Unable to change server settings")));
       cgiSetVariable("ERROR", cupsLastErrorString());
       cgiCopyTemplateLang("error.tmpl");
       cgiEndHTML();
@@ -1796,7 +1796,7 @@ do_config_server(http_t *http)            /* I - HTTP connection */
 
        cgiStartHTML(cgiText(_("Change Settings")));
        cgiSetVariable("MESSAGE",
-                       cgiText(_("Unable to change server settings:")));
+                       cgiText(_("Unable to change server settings")));
        cgiSetVariable("ERROR", cupsLastErrorString());
        cgiCopyTemplateLang("error.tmpl");
       }
@@ -1847,7 +1847,7 @@ do_config_server(http_t *http)            /* I - HTTP connection */
     if ((tempfd = cupsTempFd(tempfile, sizeof(tempfile))) < 0)
     {
       cgiStartHTML(cgiText(_("Edit Configuration File")));
-      cgiSetVariable("MESSAGE", cgiText(_("Unable to create temporary file:")));
+      cgiSetVariable("MESSAGE", cgiText(_("Unable to create temporary file")));
       cgiSetVariable("ERROR", strerror(errno));
       cgiCopyTemplateLang("error.tmpl");
       cgiEndHTML();
@@ -1859,7 +1859,7 @@ do_config_server(http_t *http)            /* I - HTTP connection */
     if ((temp = cupsFileOpenFd(tempfd, "w")) == NULL)
     {
       cgiStartHTML(cgiText(_("Edit Configuration File")));
-      cgiSetVariable("MESSAGE", cgiText(_("Unable to create temporary file:")));
+      cgiSetVariable("MESSAGE", cgiText(_("Unable to create temporary file")));
       cgiSetVariable("ERROR", strerror(errno));
       cgiCopyTemplateLang("error.tmpl");
       cgiEndHTML();
@@ -1909,7 +1909,7 @@ do_config_server(http_t *http)            /* I - HTTP connection */
     else if (status != HTTP_CREATED)
     {
       cgiSetVariable("MESSAGE",
-                     cgiText(_("Unable to upload cupsd.conf file:")));
+                     cgiText(_("Unable to upload cupsd.conf file")));
       cgiSetVariable("ERROR", httpStatus(status));
 
       cgiStartHTML(cgiText(_("Edit Configuration File")));
@@ -1956,7 +1956,7 @@ do_config_server(http_t *http)            /* I - HTTP connection */
     {
       cgiStartHTML(cgiText(_("Edit Configuration File")));
       cgiSetVariable("MESSAGE",
-                     cgiText(_("Unable to access cupsd.conf file:")));
+                     cgiText(_("Unable to access cupsd.conf file")));
       cgiSetVariable("ERROR", strerror(errno));
       cgiCopyTemplateLang("error.tmpl");
       cgiEndHTML();
@@ -1969,7 +1969,7 @@ do_config_server(http_t *http)            /* I - HTTP connection */
     {
       cgiStartHTML(cgiText(_("Edit Configuration File")));
       cgiSetVariable("MESSAGE",
-                     cgiText(_("Unable to access cupsd.conf file:")));
+                     cgiText(_("Unable to access cupsd.conf file")));
       cgiSetVariable("ERROR",
                      cgiText(_("Unable to edit cupsd.conf files larger than "
                               "1MB")));
@@ -1993,7 +1993,7 @@ do_config_server(http_t *http)            /* I - HTTP connection */
 
       cgiStartHTML(cgiText(_("Edit Configuration File")));
       cgiSetVariable("MESSAGE",
-                     cgiText(_("Unable to access cupsd.conf file:")));
+                     cgiText(_("Unable to access cupsd.conf file")));
       cgiSetVariable("ERROR", strerror(errno));
       cgiCopyTemplateLang("error.tmpl");
       cgiEndHTML();
@@ -2150,7 +2150,7 @@ do_delete_class(http_t *http)             /* I - HTTP connection */
   cgiStartHTML(cgiText(_("Delete Class")));
 
   if (cupsLastError() > IPP_OK_CONFLICT)
-    cgiShowIPPError(_("Unable to delete class:"));
+    cgiShowIPPError(_("Unable to delete class"));
   else
     cgiCopyTemplateLang("class-deleted.tmpl");
 
@@ -2235,7 +2235,7 @@ do_delete_printer(http_t *http)           /* I - HTTP connection */
   cgiStartHTML(cgiText(_("Delete Printer")));
 
   if (cupsLastError() > IPP_OK_CONFLICT)
-    cgiShowIPPError(_("Unable to delete printer:"));
+    cgiShowIPPError(_("Unable to delete printer"));
   else
     cgiCopyTemplateLang("printer-deleted.tmpl");
 
@@ -2639,10 +2639,6 @@ do_menu(http_t *http)                    /* I - HTTP connection */
 #endif /* HAVE_GSSAPI */
   cgiSetVariable("KERBEROS", "");
 
-#ifdef HAVE_DNSSD
-  cgiSetVariable("HAVE_DNSSD", "1");
-#endif /* HAVE_DNSSD */
-
   if ((val = cupsGetOption("BrowseWebIF", num_settings,
                            settings)) == NULL)
     val = "No";
@@ -2841,7 +2837,7 @@ do_set_allowed_users(http_t *http)        /* I - HTTP connection */
       exit(0);
     }
     else if (cupsLastError() > IPP_OK_CONFLICT)
-      cgiShowIPPError(_("Unable to get printer attributes:"));
+      cgiShowIPPError(_("Unable to get printer attributes"));
     else
       cgiCopyTemplateLang("users.tmpl");
 
@@ -2991,7 +2987,7 @@ do_set_allowed_users(http_t *http)        /* I - HTTP connection */
     else if (cupsLastError() > IPP_OK_CONFLICT)
     {
       cgiStartHTML(cgiText(_("Set Allowed Users")));
-      cgiShowIPPError(_("Unable to change printer:"));
+      cgiShowIPPError(_("Unable to change printer"));
     }
     else
     {
@@ -3078,7 +3074,7 @@ do_set_default(http_t *http)              /* I - HTTP connection */
   else if (cupsLastError() > IPP_OK_CONFLICT)
   {
     cgiStartHTML(title);
-    cgiShowIPPError(_("Unable to set server default:"));
+    cgiShowIPPError(_("Unable to set server default"));
   }
   else
   {
@@ -3187,7 +3183,7 @@ do_set_options(http_t *http,              /* I - HTTP connection */
     if ((ppd = ppdOpenFile(filename)) == NULL)
     {
       cgiSetVariable("ERROR", ppdErrorString(ppdLastError(&i)));
-      cgiSetVariable("MESSAGE", cgiText(_("Unable to open PPD file:")));
+      cgiSetVariable("MESSAGE", cgiText(_("Unable to open PPD file")));
       cgiStartHTML(title);
       cgiCopyTemplateLang("error.tmpl");
       cgiEndHTML();
@@ -3808,7 +3804,7 @@ do_set_options(http_t *http,              /* I - HTTP connection */
     else if (cupsLastError() > IPP_OK_CONFLICT)
     {
       cgiStartHTML(title);
-      cgiShowIPPError(_("Unable to set options:"));
+      cgiShowIPPError(_("Unable to set options"));
     }
     else
     {
@@ -3907,7 +3903,7 @@ do_set_sharing(http_t *http)              /* I - HTTP connection */
   else if (cupsLastError() > IPP_OK_CONFLICT)
   {
     cgiStartHTML(cgiText(_("Set Publishing")));
-    cgiShowIPPError(_("Unable to change printer-is-shared attribute:"));
+    cgiShowIPPError(_("Unable to change printer-is-shared attribute"));
   }
   else
   {
index 4b1d02f537fee58ea2bb19d9fa1951af2b438149..1be7664ca09193dcb55f84ed3908b1665f202d41 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Class status CGI for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -257,7 +257,7 @@ do_class_op(http_t      *http,              /* I - HTTP connection */
   else if (cupsLastError() > IPP_OK_CONFLICT)
   {
     cgiStartHTML(title);
-    cgiShowIPPError(_("Unable to do maintenance command:"));
+    cgiShowIPPError(_("Unable to do maintenance command"));
   }
   else
   {
@@ -447,7 +447,7 @@ show_all_classes(http_t     *http,  /* I - Connection to server */
     * Show the error...
     */
 
-    cgiShowIPPError(_("Unable to get class list:"));
+    cgiShowIPPError(_("Unable to get class list"));
   }
 
    cgiEndHTML();
@@ -546,7 +546,7 @@ show_class(http_t     *http,                /* I - Connection to server */
     */
 
     cgiStartHTML(pclass);
-    cgiShowIPPError(_("Unable to get class status:"));
+    cgiShowIPPError(_("Unable to get class status"));
   }
 
    cgiEndHTML();
index 6c432a9d652deb682aa9ee9d0a71d5806a29b75d..1251e89a695e7e1bff55f24a9e801b31b409e2fe 100644 (file)
@@ -792,7 +792,7 @@ cgiPrintTestPage(http_t     *http,  /* I - Connection to server */
   cgiStartHTML(cgiText(_("Print Test Page")));
 
   if (cupsLastError() > IPP_OK_CONFLICT)
-    cgiShowIPPError(_("Unable to print test page:"));
+    cgiShowIPPError(_("Unable to print test page"));
   else
   {
     cgiSetVariable("PRINTER_NAME", dest);
index dc79aec708785a1765885e229b7f35c5356b46c0..30aefa667c6a309ff8a3a391a22a8243c4d03808 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Job status CGI for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -195,7 +195,7 @@ do_job_op(http_t      *http,                /* I - HTTP connection */
   cgiStartHTML(cgiText(_("Jobs")));
 
   if (cupsLastError() > IPP_OK_CONFLICT)
-    cgiShowIPPError(_("Job operation failed:"));
+    cgiShowIPPError(_("Job operation failed"));
   else if (op == IPP_CANCEL_JOB)
     cgiCopyTemplateLang("job-cancel.tmpl");
   else if (op == IPP_HOLD_JOB)
index ff379ff993738d28b8ceea85b29965743a3ad35f..4230eec19ea510685d6205b851a7692b0cdf98b7 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Printer status CGI for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -266,7 +266,7 @@ do_printer_op(http_t      *http,    /* I - HTTP connection */
   else if (cupsLastError() > IPP_OK_CONFLICT)
   {
     cgiStartHTML(title);
-    cgiShowIPPError(_("Unable to do maintenance command:"));
+    cgiShowIPPError(_("Unable to do maintenance command"));
   }
   else
   {
@@ -464,7 +464,7 @@ show_all_printers(http_t     *http, /* I - Connection to server */
     * Show the error...
     */
 
-    cgiShowIPPError(_("Unable to get printer list:"));
+    cgiShowIPPError(_("Unable to get printer list"));
   }
 
    cgiEndHTML();
@@ -566,7 +566,7 @@ show_printer(http_t     *http,              /* I - Connection to server */
     */
 
     cgiStartHTML(printer);
-    cgiShowIPPError(_("Unable to get printer status:"));
+    cgiShowIPPError(_("Unable to get printer status"));
   }
 
    cgiEndHTML();
index 592e253bbbc370e360a927a1a1597c706681163a..de6996d47237c38cc5c574af344f159268f33d1d 100644 (file)
@@ -93,8 +93,9 @@ dnl Check for pkg-config, which is used for some other tests later on...
 AC_PATH_PROG(PKGCONFIG, pkg-config)
 
 dnl Check for libraries...
-AC_SEARCH_LIBS(fmod, m)
+AC_SEARCH_LIBS(abs, m, AC_DEFINE(HAVE_ABS))
 AC_SEARCH_LIBS(crypt, crypt)
+AC_SEARCH_LIBS(fmod, m)
 AC_SEARCH_LIBS(getspent, sec gen)
 
 LIBMALLOC=""
index 69699fb85e383f6e01ffa507d82752c4cc1d5e83..d236a344a39aa8979e58f0a30471cae09cfbffc8 100644 (file)
@@ -24,8 +24,8 @@ AC_ARG_WITH(languages, [  --with-languages        set installed languages, defau
        esac])
 AC_SUBST(LANGUAGES)
 
-dnl Mac OS X bundle-based localization support
-AC_ARG_WITH(bundledir, [  --with-bundledir        set Mac OS X localization bundle directory ],
+dnl OS X bundle-based localization support
+AC_ARG_WITH(bundledir, [  --with-bundledir        set OS X localization bundle directory ],
        CUPS_BUNDLEDIR="$withval",
        if test "x$uname" = xDarwin -a $uversion -ge 100; then
                CUPS_BUNDLEDIR="/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A"
@@ -102,7 +102,7 @@ AC_ARG_WITH(local_protocols, [  --with-local-protocols  set default BrowseLocalP
 
 if test x$with_local_protocols != xno; then
        if test "x$default_local_protocols" = "xdefault"; then
-               if test "x$DNSSDLIBS" != "x"; then
+               if test "x$DNSSD_BACKEND" != "x"; then
                        CUPS_BROWSE_LOCAL_PROTOCOLS="dnssd"
                else
                        CUPS_BROWSE_LOCAL_PROTOCOLS=""
@@ -373,7 +373,7 @@ AC_SUBST(DEFAULT_IPP_PORT)
 AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IPP_PORT,$DEFAULT_IPP_PORT)
 
 dnl Web interface...
-AC_ARG_ENABLE(webif, [  --enable-webif          enable the web interface by default, default=no for Mac OS X])
+AC_ARG_ENABLE(webif, [  --enable-webif          enable the web interface by default, default=no for OS X])
 case "x$enable_webif" in
        xno)
                CUPS_WEBIF=No
index 5b1d89b7ba08d00fd4b67986ee6d76482632b8c3..010e5f5d7a029e0bee66af5642388564026c65c6 100644 (file)
@@ -3,7 +3,7 @@ dnl "$Id: cups-directories.m4 7799 2008-07-25 20:06:08Z mike $"
 dnl
 dnl   Directory stuff for CUPS.
 dnl
-dnl   Copyright 2007-2011 by Apple Inc.
+dnl   Copyright 2007-2012 by Apple Inc.
 dnl   Copyright 1997-2007 by Easy Software Products, all rights reserved.
 dnl
 dnl   These coded instructions, statements, and computer programs are the
@@ -424,7 +424,7 @@ AC_SUBST(CUPS_SERVERROOT)
 # Transient run-time state
 case "$uname" in
        Darwin*)
-               # Darwin (Mac OS X)
+               # Darwin (OS X)
                CUPS_STATEDIR="$CUPS_SERVERROOT"
                ;;
        *)
index 5e70be5efe2764dd6e719db6f186b164731e8382..36c878cf07a109a77c96443279088faa3c1255e8 100644 (file)
@@ -3,7 +3,7 @@ dnl   "$Id$"
 dnl
 dnl   GSSAPI/Kerberos library detection for CUPS.
 dnl
-dnl   Copyright 2007-2011 by Apple Inc.
+dnl   Copyright 2007-2012 by Apple Inc.
 dnl   Copyright 2006-2007 by Easy Software Products.
 dnl
 dnl   This file contains Kerberos support code, copyright 2006 by
@@ -26,7 +26,7 @@ if test x$enable_gssapi != xno; then
        if test "x$KRB5CONFIG" != x; then
                case "$uname" in
                        Darwin)
-                               # Mac OS X weak-links to the Kerberos framework...
+                               # OS X weak-links to the Kerberos framework...
                                LIBGSSAPI="-weak_framework Kerberos"
                                AC_MSG_CHECKING(for GSS framework)
                                if test -d /System/Library/Frameworks/GSS.framework; then
index a40fb565172fadefd7330e1cbd78093cc8203932..7420433c533a84f3796b387f957da87af5e028b1 100644 (file)
@@ -3,7 +3,7 @@ dnl "$Id: cups-manpages.m4 6649 2007-07-11 21:46:42Z mike $"
 dnl
 dnl   Manpage stuff for CUPS.
 dnl
-dnl   Copyright 2007-2011 by Apple Inc.
+dnl   Copyright 2007-2012 by Apple Inc.
 dnl   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 dnl
 dnl   These coded instructions, statements, and computer programs are the
@@ -68,7 +68,7 @@ case "$uname" in
                MAN8DIR=1m
                ;;
        Linux* | GNU* | Darwin*)
-               # Linux, GNU Hurd, and Mac OS X
+               # Linux, GNU Hurd, and OS X
                MAN1EXT=1.gz
                MAN5EXT=5.gz
                MAN7EXT=7.gz
index 9a281e7856cba1219c1b4f67b09fd8e827810d29..72bf32fc3549870b9aec689a9b879366fa1658a0 100644 (file)
@@ -3,7 +3,7 @@ dnl "$Id: cups-pam.m4 7960 2008-09-17 19:42:02Z mike $"
 dnl
 dnl   PAM stuff for CUPS.
 dnl
-dnl   Copyright 2007-2011 by Apple Inc.
+dnl   Copyright 2007-2012 by Apple Inc.
 dnl   Copyright 1997-2005 by Easy Software Products, all rights reserved.
 dnl
 dnl   These coded instructions, statements, and computer programs are the
@@ -61,7 +61,7 @@ if test x$enable_pam != xno; then
 
        case "$uname" in
                Darwin*)
-                       # Darwin/Mac OS X
+                       # Darwin/OS X
                        if test "x$with_pam_module" != x; then
                                PAMFILE="pam.$with_pam_module"
                        elif test -f /usr/lib/pam/pam_opendirectory.so.2; then
index 4081f7db87e2ce6bed13d0d7adfae3ddf5c8e7a7..32a2d715cda88508c31916391671499710b10fbc 100644 (file)
 
 
 /*
- * Do we have Mac OS X 10.4's mbr_XXX functions?
+ * Do we have OS X 10.4's mbr_XXX functions?
  */
 
 #undef HAVE_MEMBERSHIP_H
 
 
 /*
- * Location of Mac OS X localization bundle, if any.
+ * Location of OS X localization bundle, if any.
  */
 
 #undef CUPS_BUNDLEDIR
 #undef HAVE_MXML_H
 
 
+/*
+ * Do we have the C99 abs() function?
+ */
+
+#undef HAVE_ABS
+#if !defined(HAVE_ABS) && !defined(abs)
+#  if defined(__GNUC__) || __STDC_VERSION__ >= 199901L
+#    define abs(x) _cups_abs(x)
+static inline int _cups_abs(int i) { return (i < 0 ? -i : i); }
+#  elif defined(_MSC_VER)
+#    define abs(x) _cups_abs(x)
+static __inline int _cups_abs(int i) { return (i < 0 ? -i : i); }
+#  else
+#    define abs(x) ((x) < 0 ? -(x) : (x))
+#  endif /* __GNUC__ || __STDC_VERSION__ */
+#endif /* !HAVE_ABS && !abs */
+
 #endif /* !_CUPS_CONFIG_H_ */
 
 /*
index 6e3977bea90ef61a772b85c613fffe8140949759..e7c8cd00f49575703a4ea8b274a0bec54835c25f 100644 (file)
@@ -74,6 +74,7 @@ AC_OUTPUT(Makedefs
          man/cups-deviced.man
          man/cups-driverd.man
          man/cups-lpd.man
+         man/cups-snmp.man
          man/cupsaddsmb.man
          man/cupsd.conf.man
          man/cupsd.man
index 276dd90c65ffdec66ce60a5ad8e2a4abe01dd3f5..10beea26ba737d49aa8a943afee74f7a41e39e47 100644 (file)
-adminutil.o: adminutil.c cups-private.h ../cups/cups.h file.h \
-  versioning.h ipp.h http.h array.h language.h string-private.h \
-  ../config.h debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h adminutil.h
+adminutil.o: adminutil.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h adminutil.h
 array.o: array.c string-private.h ../config.h debug-private.h \
   ../cups/versioning.h array-private.h ../cups/array.h
-attr.o: attr.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h \
-  http.h array.h language.h string-private.h ../config.h debug-private.h \
-  ppd-private.h ../cups/ppd.h pwg-private.h http-private.h md5-private.h \
-  ipp-private.h language-private.h ../cups/transcode.h thread-private.h
-auth.o: auth.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h \
-  http.h array.h language.h string-private.h ../config.h debug-private.h \
-  ppd-private.h ../cups/ppd.h pwg-private.h http-private.h md5-private.h \
-  ipp-private.h language-private.h ../cups/transcode.h thread-private.h
+attr.o: attr.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+auth.o: auth.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
 backchannel.o: backchannel.c cups.h file.h versioning.h ipp.h http.h \
   array.h language.h
-backend.o: backend.c cups-private.h ../cups/cups.h file.h versioning.h \
-  ipp.h http.h array.h language.h string-private.h ../config.h \
-  debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h backend.h
-conflicts.o: conflicts.c cups-private.h ../cups/cups.h file.h \
-  versioning.h ipp.h http.h array.h language.h string-private.h \
-  ../config.h debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
-custom.o: custom.c cups-private.h ../cups/cups.h file.h versioning.h \
-  ipp.h http.h array.h language.h string-private.h ../config.h \
-  debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
-debug.o: debug.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h \
-  http.h array.h language.h string-private.h ../config.h debug-private.h \
-  ppd-private.h ../cups/ppd.h pwg-private.h http-private.h md5-private.h \
-  ipp-private.h language-private.h ../cups/transcode.h thread-private.h
-dest.o: dest.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h \
-  http.h array.h language.h string-private.h ../config.h debug-private.h \
-  ppd-private.h ../cups/ppd.h pwg-private.h http-private.h md5-private.h \
-  ipp-private.h language-private.h ../cups/transcode.h thread-private.h
-dest-job.o: dest-job.c cups-private.h ../cups/cups.h file.h versioning.h \
-  ipp.h http.h array.h language.h string-private.h ../config.h \
-  debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
-dest-localization.o: dest-localization.c cups-private.h ../cups/cups.h \
-  file.h versioning.h ipp.h http.h array.h language.h string-private.h \
-  ../config.h debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
-dest-options.o: dest-options.c cups-private.h ../cups/cups.h file.h \
-  versioning.h ipp.h http.h array.h language.h string-private.h \
-  ../config.h debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
+backend.o: backend.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h backend.h
+conflicts.o: conflicts.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+custom.o: custom.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+debug.o: debug.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+dest.o: dest.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+dest-job.o: dest-job.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+dest-localization.o: dest-localization.c cups-private.h string-private.h \
+  ../config.h debug-private.h ../cups/versioning.h ipp-private.h \
+  ../cups/ipp.h http.h array.h http-private.h md5-private.h \
+  language-private.h ../cups/transcode.h language.h pwg-private.h \
+  ../cups/cups.h file.h ppd-private.h ../cups/ppd.h thread-private.h
+dest-options.o: dest-options.c cups-private.h string-private.h \
+  ../config.h debug-private.h ../cups/versioning.h ipp-private.h \
+  ../cups/ipp.h http.h array.h http-private.h md5-private.h \
+  language-private.h ../cups/transcode.h language.h pwg-private.h \
+  ../cups/cups.h file.h ppd-private.h ../cups/ppd.h thread-private.h
 dir.o: dir.c string-private.h ../config.h debug-private.h \
   ../cups/versioning.h dir.h
-emit.o: emit.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h \
-  http.h array.h language.h string-private.h ../config.h debug-private.h \
-  ppd-private.h ../cups/ppd.h pwg-private.h http-private.h md5-private.h \
-  ipp-private.h language-private.h ../cups/transcode.h thread-private.h
-encode.o: encode.c cups-private.h ../cups/cups.h file.h versioning.h \
-  ipp.h http.h array.h language.h string-private.h ../config.h \
-  debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
-file.o: file.c file-private.h cups-private.h ../cups/cups.h file.h \
-  versioning.h ipp.h http.h array.h language.h string-private.h \
-  ../config.h debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
-getdevices.o: getdevices.c cups-private.h ../cups/cups.h file.h \
-  versioning.h ipp.h http.h array.h language.h string-private.h \
-  ../config.h debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
+emit.o: emit.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+encode.o: encode.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+file.o: file.c file-private.h cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+getdevices.o: getdevices.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
 getifaddrs.o: getifaddrs.c http-private.h ../config.h ../cups/http.h \
   versioning.h array.h md5-private.h ipp-private.h ../cups/ipp.h
-getputfile.o: getputfile.c cups-private.h ../cups/cups.h file.h \
-  versioning.h ipp.h http.h array.h language.h string-private.h \
-  ../config.h debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
-globals.o: globals.c cups-private.h ../cups/cups.h file.h versioning.h \
-  ipp.h http.h array.h language.h string-private.h ../config.h \
-  debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
-http.o: http.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h \
-  http.h array.h language.h string-private.h ../config.h debug-private.h \
-  ppd-private.h ../cups/ppd.h pwg-private.h http-private.h md5-private.h \
-  ipp-private.h language-private.h ../cups/transcode.h thread-private.h
-http-addr.o: http-addr.c cups-private.h ../cups/cups.h file.h \
-  versioning.h ipp.h http.h array.h language.h string-private.h \
-  ../config.h debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
-http-addrlist.o: http-addrlist.c cups-private.h ../cups/cups.h file.h \
-  versioning.h ipp.h http.h array.h language.h string-private.h \
-  ../config.h debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
-http-support.o: http-support.c cups-private.h ../cups/cups.h file.h \
-  versioning.h ipp.h http.h array.h language.h string-private.h \
-  ../config.h debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
-ipp.o: ipp.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h \
-  http.h array.h language.h string-private.h ../config.h debug-private.h \
-  ppd-private.h ../cups/ppd.h pwg-private.h http-private.h md5-private.h \
-  ipp-private.h language-private.h ../cups/transcode.h thread-private.h
-ipp-support.o: ipp-support.c cups-private.h ../cups/cups.h file.h \
-  versioning.h ipp.h http.h array.h language.h string-private.h \
-  ../config.h debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
-langprintf.o: langprintf.c cups-private.h ../cups/cups.h file.h \
-  versioning.h ipp.h http.h array.h language.h string-private.h \
-  ../config.h debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
-language.o: language.c cups-private.h ../cups/cups.h file.h versioning.h \
-  ipp.h http.h array.h language.h string-private.h ../config.h \
-  debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
-localize.o: localize.c cups-private.h ../cups/cups.h file.h versioning.h \
-  ipp.h http.h array.h language.h string-private.h ../config.h \
-  debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
-mark.o: mark.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h \
-  http.h array.h language.h string-private.h ../config.h debug-private.h \
-  ppd-private.h ../cups/ppd.h pwg-private.h http-private.h md5-private.h \
-  ipp-private.h language-private.h ../cups/transcode.h thread-private.h
+getputfile.o: getputfile.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+globals.o: globals.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+http.o: http.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+http-addr.o: http-addr.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+http-addrlist.o: http-addrlist.c cups-private.h string-private.h \
+  ../config.h debug-private.h ../cups/versioning.h ipp-private.h \
+  ../cups/ipp.h http.h array.h http-private.h md5-private.h \
+  language-private.h ../cups/transcode.h language.h pwg-private.h \
+  ../cups/cups.h file.h ppd-private.h ../cups/ppd.h thread-private.h
+http-support.o: http-support.c cups-private.h string-private.h \
+  ../config.h debug-private.h ../cups/versioning.h ipp-private.h \
+  ../cups/ipp.h http.h array.h http-private.h md5-private.h \
+  language-private.h ../cups/transcode.h language.h pwg-private.h \
+  ../cups/cups.h file.h ppd-private.h ../cups/ppd.h thread-private.h
+ipp.o: ipp.c cups-private.h string-private.h ../config.h debug-private.h \
+  ../cups/versioning.h ipp-private.h ../cups/ipp.h http.h array.h \
+  http-private.h md5-private.h language-private.h ../cups/transcode.h \
+  language.h pwg-private.h ../cups/cups.h file.h ppd-private.h \
+  ../cups/ppd.h thread-private.h
+ipp-support.o: ipp-support.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+langprintf.o: langprintf.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+language.o: language.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+localize.o: localize.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+mark.o: mark.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
 md5.o: md5.c md5-private.h string-private.h ../config.h
 md5passwd.o: md5passwd.c http-private.h ../config.h ../cups/http.h \
   versioning.h array.h md5-private.h ipp-private.h ../cups/ipp.h \
   string-private.h
-notify.o: notify.c cups-private.h ../cups/cups.h file.h versioning.h \
-  ipp.h http.h array.h language.h string-private.h ../config.h \
-  debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
-options.o: options.c cups-private.h ../cups/cups.h file.h versioning.h \
-  ipp.h http.h array.h language.h string-private.h ../config.h \
-  debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
+notify.o: notify.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+options.o: options.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
 page.o: page.c string-private.h ../config.h debug-private.h \
   ../cups/versioning.h ppd.h cups.h file.h ipp.h http.h array.h \
   language.h
-ppd.o: ppd.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h \
-  http.h array.h language.h string-private.h ../config.h debug-private.h \
-  ppd-private.h ../cups/ppd.h pwg-private.h http-private.h md5-private.h \
-  ipp-private.h language-private.h ../cups/transcode.h thread-private.h
-ppd-cache.o: ppd-cache.c cups-private.h ../cups/cups.h file.h \
-  versioning.h ipp.h http.h array.h language.h string-private.h \
-  ../config.h debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
-pwg-media.o: pwg-media.c cups-private.h ../cups/cups.h file.h \
-  versioning.h ipp.h http.h array.h language.h string-private.h \
-  ../config.h debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
-request.o: request.c cups-private.h ../cups/cups.h file.h versioning.h \
-  ipp.h http.h array.h language.h string-private.h ../config.h \
-  debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
+ppd.o: ppd.c cups-private.h string-private.h ../config.h debug-private.h \
+  ../cups/versioning.h ipp-private.h ../cups/ipp.h http.h array.h \
+  http-private.h md5-private.h language-private.h ../cups/transcode.h \
+  language.h pwg-private.h ../cups/cups.h file.h ppd-private.h \
+  ../cups/ppd.h thread-private.h
+ppd-cache.o: ppd-cache.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+pwg-media.o: pwg-media.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+request.o: request.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
 sidechannel.o: sidechannel.c sidechannel.h versioning.h cups-private.h \
-  ../cups/cups.h file.h ipp.h http.h array.h language.h string-private.h \
-  ../config.h debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
-snmp.o: snmp.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h \
-  http.h array.h language.h string-private.h ../config.h debug-private.h \
-  ppd-private.h ../cups/ppd.h pwg-private.h http-private.h md5-private.h \
-  ipp-private.h language-private.h ../cups/transcode.h thread-private.h \
-  snmp-private.h
+  string-private.h ../config.h debug-private.h ipp-private.h \
+  ../cups/ipp.h http.h array.h http-private.h md5-private.h \
+  language-private.h ../cups/transcode.h language.h pwg-private.h \
+  ../cups/cups.h file.h ppd-private.h ../cups/ppd.h thread-private.h
+snmp.o: snmp.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h snmp-private.h
 snprintf.o: snprintf.c string-private.h ../config.h
 string.o: string.c string-private.h ../config.h debug-private.h \
   ../cups/versioning.h thread-private.h array.h
-tempfile.o: tempfile.c cups-private.h ../cups/cups.h file.h versioning.h \
-  ipp.h http.h array.h language.h string-private.h ../config.h \
-  debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
-thread.o: thread.c cups-private.h ../cups/cups.h file.h versioning.h \
-  ipp.h http.h array.h language.h string-private.h ../config.h \
-  debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
-transcode.o: transcode.c cups-private.h ../cups/cups.h file.h \
-  versioning.h ipp.h http.h array.h language.h string-private.h \
-  ../config.h debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
-usersys.o: usersys.c cups-private.h ../cups/cups.h file.h versioning.h \
-  ipp.h http.h array.h language.h string-private.h ../config.h \
-  debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
-util.o: util.c cups-private.h ../cups/cups.h file.h versioning.h ipp.h \
-  http.h array.h language.h string-private.h ../config.h debug-private.h \
-  ppd-private.h ../cups/ppd.h pwg-private.h http-private.h md5-private.h \
-  ipp-private.h language-private.h ../cups/transcode.h thread-private.h
+tempfile.o: tempfile.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+thread.o: thread.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+transcode.o: transcode.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+usersys.o: usersys.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+util.o: util.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
 testadmin.o: testadmin.c adminutil.h cups.h file.h versioning.h ipp.h \
   http.h array.h language.h string-private.h ../config.h
 testarray.o: testarray.c string-private.h ../config.h debug-private.h \
@@ -223,28 +233,28 @@ testi18n.o: testi18n.c string-private.h ../config.h language-private.h \
   ../cups/transcode.h language.h array.h versioning.h
 testipp.o: testipp.c file.h versioning.h string-private.h ../config.h \
   ipp-private.h ../cups/ipp.h http.h array.h
-testoptions.o: testoptions.c cups-private.h ../cups/cups.h file.h \
-  versioning.h ipp.h http.h array.h language.h string-private.h \
-  ../config.h debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
-testlang.o: testlang.c cups-private.h ../cups/cups.h file.h versioning.h \
-  ipp.h http.h array.h language.h string-private.h ../config.h \
-  debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
-testppd.o: testppd.c cups-private.h ../cups/cups.h file.h versioning.h \
-  ipp.h http.h array.h language.h string-private.h ../config.h \
-  debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h
+testoptions.o: testoptions.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+testlang.o: testlang.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
+testppd.o: testppd.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h
 testpwg.o: testpwg.c ppd-private.h ../cups/cups.h file.h versioning.h \
   ipp.h http.h array.h language.h ../cups/ppd.h pwg-private.h \
   file-private.h cups-private.h string-private.h ../config.h \
-  debug-private.h http-private.h md5-private.h ipp-private.h \
+  debug-private.h ipp-private.h http-private.h md5-private.h \
   language-private.h ../cups/transcode.h thread-private.h
-testsnmp.o: testsnmp.c cups-private.h ../cups/cups.h file.h versioning.h \
-  ipp.h http.h array.h language.h string-private.h ../config.h \
-  debug-private.h ppd-private.h ../cups/ppd.h pwg-private.h \
-  http-private.h md5-private.h ipp-private.h language-private.h \
-  ../cups/transcode.h thread-private.h snmp-private.h
+testsnmp.o: testsnmp.c cups-private.h string-private.h ../config.h \
+  debug-private.h ../cups/versioning.h ipp-private.h ../cups/ipp.h \
+  http.h array.h http-private.h md5-private.h language-private.h \
+  ../cups/transcode.h language.h pwg-private.h ../cups/cups.h file.h \
+  ppd-private.h ../cups/ppd.h thread-private.h snmp-private.h
index ee6f47ea3ca32da546bc64b6c63e01c03147ec33..803d2203c2c58e9e83d804aebc83162b5db2eca6 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Administration utility API definitions for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 2001-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -65,7 +65,7 @@ static void           write_option(cups_file_t *dstfp, int order,
 /*
  * 'cupsAdminCreateWindowsPPD()' - Create the Windows PPD file for a printer.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 char *                                 /* O - PPD file or NULL */
@@ -393,7 +393,7 @@ cupsAdminCreateWindowsPPD(
 /*
  * 'cupsAdminExportSamba()' - Export a printer to Samba.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 1 on success, 0 on failure */
@@ -843,7 +843,7 @@ cupsAdminExportSamba(
  * The returned settings should be freed with cupsFreeOptions() when
  * you are done with them.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 int                                    /* O - 1 on success, 0 on failure */
@@ -1159,7 +1159,7 @@ cupsAdminGetServerSettings(
 /*
  * 'cupsAdminSetServerSettings()' - Set settings on the server.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 int                                    /* O - 1 on success, 0 on failure */
index e81159e6e6c4ad9b55f81ad431b84cd500bac4b1..e95c8d08f12bc2f66da5fb30a930c3e8c644f8a2 100644 (file)
@@ -3,7 +3,7 @@
 
   Filter and backend programming introduction for CUPS.
 
-  Copyright 2007-2011 by Apple Inc.
+  Copyright 2007-2012 by Apple Inc.
   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 
   These coded instructions, statements, and computer programs are the
@@ -81,7 +81,7 @@ directory to write to.</p>
 
 <p>In addition, some operating systems provide additional security mechanisms
 that further limit file system access, even for backends running as root. On
-Mac OS X, for example, no backend may write to a user's home directory.</p>
+OS X, for example, no backend may write to a user's home directory.</p>
 </blockquote>
 
 <h3><a name="SIGNALS">Canceled Jobs and Signal Handling</a></h3>
@@ -153,7 +153,7 @@ when running print filters and backends:</p>
 
        <dt>APPLE_LANGUAGE</dt>
        <dd>The Apple language identifier associated with the job
-       (Mac OS X only).</dd>
+       (OS X only).</dd>
 
        <dt>CHARSET</dt>
        <dd>The job character set, typically "utf-8".</dd>
@@ -474,7 +474,7 @@ sub-state and not an issue that applies when a job is not printing.</p>
 <blockquote><b>Note:</b>
 
 <p>"STATE:" messages often provide visible alerts to the user. For example,
-on Mac OS X setting a printer-state-reason value with an "-error" or
+on OS X setting a printer-state-reason value with an "-error" or
 "-warning" suffix will cause the printer's dock item to bounce if the
 corresponding reason is localized with a cupsIPPReason keyword in the
 printer's PPD file.</p>
index 9eae26b48d559cea3463e3a7ca712c64c5ac0caf..ef0d051221763c22c846d6e2fe908a2e37934ffc 100644 (file)
@@ -3,7 +3,7 @@
 
   PPD API header for CUPS.
 
-  Copyright 2008-2011 by Apple Inc.
+  Copyright 2008-2012 by Apple Inc.
 
   These coded instructions, statements, and computer programs are the
   property of Apple Inc. and are protected by Federal copyright
@@ -14,7 +14,7 @@
 
 <h1 class='title'>PPD API (DEPRECATED)</h1>
 
-<blockquote>The PPD API is deprecated starting in CUPS 1.6. Please use the new Job Ticket APIs in the <a href="api-cups.html">CUPS API</a> documentation. These functions will be removed in a future release of CUPS.</blockquote>
+<blockquote>The PPD API is deprecated starting in CUPS 1.6/OS X 10.8. Please use the new Job Ticket APIs in the <a href="api-cups.html">CUPS API</a> documentation. These functions will be removed in a future release of CUPS.</blockquote>
 
 <div class='summary'><table summary='General Information'>
 <thead>
index a8ecc095c8b61cf0d2858726d718535623fcf88c..6319f23f1a2df65558c80311f131dea8d8965efb 100644 (file)
@@ -3,7 +3,7 @@
 
   PPD API introduction for CUPS.
 
-  Copyright 2007-2011 by Apple Inc.
+  Copyright 2007-2012 by Apple Inc.
   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 
   These coded instructions, statements, and computer programs are the
@@ -15,7 +15,7 @@
 
 <h2 class='title'><a name='OVERVIEW'>Overview</a></h2>
 
-<blockquote>The PPD API is deprecated starting in CUPS 1.6. Please use the new Job Ticket APIs in the <a href="api-cups.html">CUPS API</a> documentation. These functions will be removed in a future release of CUPS.</blockquote>
+<blockquote>The PPD API is deprecated starting in CUPS 1.6/OS X 10.8. Please use the new Job Ticket APIs in the <a href="api-cups.html">CUPS API</a> documentation. These functions will be removed in a future release of CUPS.</blockquote>
 
 <p>The CUPS PPD API provides read-only access the data in PostScript Printer
 Description ("PPD") files which are used for all printers with a driver. With
index b2b4679b166df0fc4bb003dd54f2e206692c5bc4..2fb7701c054cd294681e97f64d3125816906b63a 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Sorted array routines for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -110,7 +110,7 @@ static int  cups_array_find(cups_array_t *a, void *e, int prev, int *rdiff);
  * appended at the end of the run of identical elements.  For unsorted arrays,
  * the element is appended to the end of the array.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 1 on success, 0 on failure */
@@ -202,7 +202,7 @@ _cupsArrayAddStrings(cups_array_t *a,       /* I - Array */
  * The caller is responsible for freeing the memory used by the
  * elements themselves.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void
@@ -244,7 +244,7 @@ cupsArrayClear(cups_array_t *a)             /* I - Array */
 /*
  * 'cupsArrayCount()' - Get the number of elements in the array.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - Number of elements */
@@ -271,7 +271,7 @@ cupsArrayCount(cups_array_t *a)             /* I - Array */
  * The current element is undefined until you call @link cupsArrayFind@,
  * @link cupsArrayFirst@, or @link cupsArrayIndex@, or @link cupsArrayLast@.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void *                                 /* O - Element */
@@ -301,7 +301,7 @@ cupsArrayCurrent(cups_array_t *a)   /* I - Array */
  * The caller is responsible for freeing the memory used by the
  * elements themselves.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void
@@ -345,7 +345,7 @@ cupsArrayDelete(cups_array_t *a)    /* I - Array */
 /*
  * 'cupsArrayDup()' - Duplicate the array.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 cups_array_t *                         /* O - Duplicate array */
@@ -430,7 +430,7 @@ cupsArrayDup(cups_array_t *a)               /* I - Array */
 /*
  * 'cupsArrayFind()' - Find an element in the array.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void *                                 /* O - Element found or @code NULL@ */
@@ -525,7 +525,7 @@ cupsArrayFind(cups_array_t *a,              /* I - Array */
 /*
  * 'cupsArrayFirst()' - Get the first element in the array.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void *                                 /* O - First element or @code NULL@ if the array is empty */
@@ -554,7 +554,7 @@ cupsArrayFirst(cups_array_t *a)             /* I - Array */
  * The current element is undefined until you call @link cupsArrayFind@,
  * @link cupsArrayFirst@, or @link cupsArrayIndex@, or @link cupsArrayLast@.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 int                                    /* O - Index of the current element, starting at 0 */
@@ -570,7 +570,7 @@ cupsArrayGetIndex(cups_array_t *a)  /* I - Array */
 /*
  * 'cupsArrayGetInsert()' - Get the index of the last inserted element.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 int                                    /* O - Index of the last inserted element, starting at 0 */
@@ -586,7 +586,7 @@ cupsArrayGetInsert(cups_array_t *a) /* I - Array */
 /*
  * 'cupsArrayIndex()' - Get the N-th element in the array.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void *                                 /* O - N-th element or @code NULL@ */
@@ -609,7 +609,7 @@ cupsArrayIndex(cups_array_t *a,             /* I - Array */
  * inserted at the beginning of the run of identical elements.  For unsorted
  * arrays, the element is inserted at the beginning of the array.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 0 on failure, 1 on success */
@@ -639,7 +639,7 @@ cupsArrayInsert(cups_array_t *a,    /* I - Array */
 /*
  * 'cupsArrayLast()' - Get the last element in the array.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void *                                 /* O - Last element or @code NULL@ if the array is empty */
@@ -670,7 +670,7 @@ cupsArrayLast(cups_array_t *a)              /* I - Array */
  * data pointer argument can safely be omitted when not required so functions
  * like @code strcmp@ can be used for sorted string arrays.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 cups_array_t *                         /* O - Array */
@@ -692,7 +692,7 @@ cupsArrayNew(cups_array_func_t f,   /* I - Comparison function or @code NULL@ for
  * The hash function ("h") is used to implement cached lookups with the
  * specified hash size ("hsize").
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 cups_array_t *                         /* O - Array */
@@ -722,7 +722,7 @@ cupsArrayNew2(cups_array_func_t  f, /* I - Comparison function or @code NULL@ fo
  * The free function ("cf") is used to automatically free/release elements when
  * removed or the array is deleted.
  *
- * @since CUPS 1.5/Mac OS X 10.7@
+ * @since CUPS 1.5/OS X 10.7@
  */
 
 cups_array_t *                         /* O - Array */
@@ -805,7 +805,7 @@ _cupsArrayNewStrings(const char *s) /* I - Comma-delimited strings or NULL */
  * @link cupsArrayFirst@, or @link cupsArrayIndex@, or @link cupsArrayLast@
  * to set the current element.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void *                                 /* O - Next element or @code NULL@ */
@@ -838,7 +838,7 @@ cupsArrayNext(cups_array_t *a)              /* I - Array */
  * @link cupsArrayFirst@, or @link cupsArrayIndex@, or @link cupsArrayLast@
  * to set the current element.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void *                                 /* O - Previous element or @code NULL@ */
@@ -871,7 +871,7 @@ cupsArrayPrev(cups_array_t *a)              /* I - Array */
  * The caller is responsible for freeing the memory used by the
  * removed element.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 1 on success, 0 on failure */
@@ -936,7 +936,7 @@ cupsArrayRemove(cups_array_t *a,    /* I - Array */
 /*
  * 'cupsArrayRestore()' - Reset the current element to the last @link cupsArraySave@.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void *                                 /* O - New current element */
@@ -967,7 +967,7 @@ cupsArrayRestore(cups_array_t *a)   /* I - Array */
  *
  * The save/restore stack is guaranteed to be at least 32 elements deep.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 1 on success, 0 on failure */
@@ -989,7 +989,7 @@ cupsArraySave(cups_array_t *a)              /* I - Array */
 /*
  * 'cupsArrayUserData()' - Return the user data for an array.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void *                                 /* O - User data */
@@ -1005,7 +1005,7 @@ cupsArrayUserData(cups_array_t *a)        /* I - Array */
 /*
  * 'cups_array_add()' - Insert or append an element to the array.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 static int                             /* O - 1 on success, 0 on failure */
index 19c27d5825cd2117f7cd30b3a17996138e44b480..da7a7253725eb8688bb8caa45a61fbf0aca55e55 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   PPD model-specific attribute routines for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -30,7 +30,7 @@
 /*
  * 'ppdFindAttr()' - Find the first matching attribute.
  *
- * @since CUPS 1.1.19/Mac OS X 10.3@
+ * @since CUPS 1.1.19/OS X 10.3@
  */
 
 ppd_attr_t *                           /* O - Attribute or @code NULL@ if not found */
@@ -87,7 +87,7 @@ ppdFindAttr(ppd_file_t *ppd,          /* I - PPD file data */
 /*
  * 'ppdFindNextAttr()' - Find the next matching attribute.
  *
- * @since CUPS 1.1.19/Mac OS X 10.3@
+ * @since CUPS 1.1.19/OS X 10.3@
  */
 
 ppd_attr_t *                           /* O - Attribute or @code NULL@ if not found */
index 7e091bee0008d2588184becdb1002e52d7719a8b..4b0856adee52d38c0a4a27a24e5febf02cdbfbc3 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Authentication functions for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   This file contains Kerberos support code, copyright 2006 by
@@ -115,7 +115,7 @@ static int  cups_local_auth(http_t *http);
  * This function should be called in response to a @code HTTP_UNAUTHORIZED@
  * status, prior to resubmitting your request.
  *
- * @since CUPS 1.1.20/Mac OS X 10.4@
+ * @since CUPS 1.1.20/OS X 10.4@
  */
 
 int                                    /* O - 0 on success, -1 on error */
index 496b1f7683efe63068474845e2022a362b2df887..3ee1dbc972b880c15f828ba04daecb38356bf283 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Backchannel functions for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -18,7 +18,7 @@
  *
  *   cupsBackChannelRead()  - Read data from the backchannel.
  *   cupsBackChannelWrite() - Write data to the backchannel.
- *   cups_setup()           - Setup select() 
+ *   cups_setup()           - Setup select()
  */
 
 /*
@@ -50,7 +50,7 @@ static void   cups_setup(fd_set *set, struct timeval *tval,
  * parameter controls how many seconds to wait for the data - use 0.0 to
  * return immediately if there is no data, -1.0 to wait for data indefinitely.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ssize_t                                        /* O - Bytes read or -1 on error */
@@ -101,7 +101,7 @@ cupsBackChannelRead(char   *buffer, /* I - Buffer to read into */
  * 0.0 to return immediately if the data cannot be written, -1.0 to wait
  * indefinitely.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ssize_t                                        /* O - Bytes written or -1 on error */
@@ -178,7 +178,7 @@ cupsBackChannelWrite(
 
 
 /*
- * 'cups_setup()' - Setup select() 
+ * 'cups_setup()' - Setup select()
  */
 
 static void
index 6a5e078ec6dc71fa04eb87a6aea9965fb353f1b0..bed23f464f6e3decc97bfd35457b6d5dde16c50a 100644 (file)
@@ -44,7 +44,7 @@ static void   quote_string(const char *s);
  * variable or the device URI passed in argv[0], whichever is found
  * first.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 const char *                           /* O - Device URI or @code NULL@ */
@@ -54,6 +54,8 @@ cupsBackendDeviceURI(char **argv)     /* I - Command-line arguments */
                *auth_info_required;    /* AUTH_INFO_REQUIRED env var */
   _cups_globals_t *cg = _cupsGlobals();        /* Global info */
   int          options;                /* Resolve options */
+  ppd_file_t   *ppd;                   /* PPD file */
+  ppd_attr_t   *ppdattr;               /* PPD attribute */
 
 
   if ((device_uri = getenv("DEVICE_URI")) == NULL)
@@ -69,6 +71,15 @@ cupsBackendDeviceURI(char **argv)    /* I - Command-line arguments */
       !strcmp(auth_info_required, "negotiate"))
     options |= _HTTP_RESOLVE_FQDN;
 
+  if ((ppd = ppdOpenFile(getenv("PPD"))) != NULL)
+  {
+    if ((ppdattr = ppdFindAttr(ppd, "cupsIPPFaxOut", NULL)) != NULL &&
+        !_cups_strcasecmp(ppdattr->value, "true"))
+      options |= _HTTP_RESOLVE_FAXOUT;
+
+    ppdClose(ppd);
+  }
+
   return (_httpResolveURI(device_uri, cg->resolved_uri,
                           sizeof(cg->resolved_uri), options, NULL, NULL));
 }
@@ -81,7 +92,7 @@ cupsBackendDeviceURI(char **argv)     /* I - Command-line arguments */
  * It handles quoting of special characters in the device-make-and-model,
  * device-info, device-id, and device-location strings.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 void
index cded4585eec3ecea16b8da23d2a1e386fc4b2c47..456f690530613ad42209ec4d2f17d306f5d60d3c 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Option marking routines for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -79,7 +79,7 @@ static cups_array_t   *ppd_test_constraints(ppd_file_t *ppd,
  * the conflicting options.  The returned option array must be freed using
  * @link cupsFreeOptions@.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 int                                    /* O - Number of conflicting options */
@@ -178,7 +178,7 @@ cupsGetConflicts(
  * choice for the conflicting option, then iterating over all possible choices
  * until a non-conflicting option choice is found.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 int                                    /* O  - 1 on success, 0 on failure */
@@ -650,7 +650,7 @@ ppdConflicts(ppd_file_t *ppd)               /* I - PPD to check */
  * This function tests whether a particular option choice is available based
  * on constraints against options in the "InstallableOptions" group.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 int                                    /* O - 1 if conflicting, 0 if not conflicting */
index 7425ce16e1ee0210f36ff2d20376b2f8a754fb8b..8d19651d6fad95a0a3921f552466f23f01d72599 100644 (file)
@@ -52,10 +52,10 @@ extern "C" {
  * Constants...
  */
 
-#  define CUPS_VERSION                 1.0599
+#  define CUPS_VERSION                 1.0600
 #  define CUPS_VERSION_MAJOR           1
 #  define CUPS_VERSION_MINOR           6
-#  define CUPS_VERSION_PATCH           -1
+#  define CUPS_VERSION_PATCH           0
 
 #  define CUPS_BC_FD                   3
                                        /* Back-channel file descriptor for
@@ -230,20 +230,20 @@ enum cups_ptype_e                 /* Printer type/capability bit
   CUPS_PRINTER_FAX = 0x40000,          /* Fax queue */
   CUPS_PRINTER_REJECTING = 0x80000,    /* Printer is rejecting jobs */
   CUPS_PRINTER_DELETE = 0x100000,      /* Delete printer
-                                        * @since CUPS 1.2/Mac OS X 10.5@ */
+                                        * @since CUPS 1.2/OS X 10.5@ */
   CUPS_PRINTER_NOT_SHARED = 0x200000,  /* Printer is not shared
-                                        * @since CUPS 1.2/Mac OS X 10.5@ */
+                                        * @since CUPS 1.2/OS X 10.5@ */
   CUPS_PRINTER_AUTHENTICATED = 0x400000,/* Printer requires authentication
-                                        * @since CUPS 1.2/Mac OS X 10.5@ */
+                                        * @since CUPS 1.2/OS X 10.5@ */
   CUPS_PRINTER_COMMANDS = 0x800000,    /* Printer supports maintenance commands
-                                        * @since CUPS 1.2/Mac OS X 10.5@ */
+                                        * @since CUPS 1.2/OS X 10.5@ */
   CUPS_PRINTER_DISCOVERED = 0x1000000, /* Printer was automatically discovered
                                         * and added @private@
                                         * @since Deprecated@ */
   CUPS_PRINTER_SCANNER = 0x2000000,    /* Scanner-only device
-                                        * @since CUPS 1.4/Mac OS X 10.6@ */
+                                        * @since CUPS 1.4/OS X 10.6@ */
   CUPS_PRINTER_MFP = 0x4000000,                /* Printer with scanning capabilities
-                                        * @since CUPS 1.4/Mac OS X 10.6@ */
+                                        * @since CUPS 1.4/OS X 10.6@ */
   CUPS_PRINTER_OPTIONS = 0x6fffc       /* ~(CLASS | REMOTE | IMPLICIT |
                                         * DEFAULT | FAX | REJECTING | DELETE |
                                         * NOT_SHARED | AUTHENTICATED |
@@ -267,7 +267,7 @@ typedef struct cups_dest_s          /**** Destination ****/
 
 typedef struct _cups_dinfo_s cups_dinfo_t;
                                        /* Destination capability and status
-                                        * information @since CUPS 1.6@ */
+                                        * information @since CUPS 1.6/OS X 10.8@ */
 
 typedef struct cups_job_s              /**** Job ****/
 {
@@ -284,7 +284,7 @@ typedef struct cups_job_s           /**** Job ****/
   time_t       processing_time;        /* Time the job was processed */
 } cups_job_t;
 
-typedef struct cups_size_s             /**** Media Size @since CUPS 1.6@ ****/
+typedef struct cups_size_s             /**** Media Size @since CUPS 1.6/OS X 10.8@ ****/
 {
   char         media[128];             /* Media name to use */
   int          width,                  /* Width in hundredths of millimeters */
@@ -304,17 +304,17 @@ typedef int (*cups_client_cert_cb_t)(http_t *http, void *tls,
                                     cups_array_t *distinguished_names,
                                     void *user_data);
                                        /* Client credentials callback
-                                        * @since CUPS 1.5/Mac OS X 10.7@ */
+                                        * @since CUPS 1.5/OS X 10.7@ */
 
 typedef int (*cups_dest_cb_t)(void *user_data, unsigned flags,
                              cups_dest_t *dest);
                                        /* Destination enumeration callback
-                                        * @since CUPS 1.6@ */
+                                        * @since CUPS 1.6/OS X 10.8@ */
 
 #  ifdef __BLOCKS__
 typedef int (^cups_dest_block_t)(unsigned flags, cups_dest_t *dest);
                                        /* Destination enumeration block
-                                        * @since CUPS 1.6@ */
+                                        * @since CUPS 1.6/OS X 10.8@ */
 #  endif /* __BLOCKS__ */
 
 typedef void (*cups_device_cb_t)(const char *device_class,
@@ -323,7 +323,7 @@ typedef void (*cups_device_cb_t)(const char *device_class,
                                  const char *device_uri,
                                 const char *device_location, void *user_data);
                                        /* Device callback
-                                        * @since CUPS 1.4/Mac OS X 10.6@ */
+                                        * @since CUPS 1.4/OS X 10.6@ */
 
 typedef const char *(*cups_password_cb_t)(const char *prompt);
                                        /* Password callback */
@@ -333,12 +333,12 @@ typedef const char *(*cups_password_cb2_t)(const char *prompt, http_t *http,
                                           const char *resource,
                                           void *user_data);
                                        /* New password callback
-                                        * @since CUPS 1.4/Mac OS X 10.6@ */
+                                        * @since CUPS 1.4/OS X 10.6@ */
 
 typedef int (*cups_server_cert_cb_t)(http_t *http, void *tls,
                                     cups_array_t *certs, void *user_data);
                                        /* Server credentials callback
-                                        * @since CUPS 1.5/Mac OS X 10.7@ */
+                                        * @since CUPS 1.5/OS X 10.7@ */
 
 
 /*
@@ -429,7 +429,7 @@ extern int          cupsPrintFiles2(http_t *http, const char *name,
 extern int             cupsSetDests2(http_t *http, int num_dests,
                                      cups_dest_t *dests) _CUPS_API_1_1_21;
 
-/**** New in CUPS 1.2/Mac OS X 10.5 ****/
+/**** New in CUPS 1.2/OS X 10.5 ****/
 extern ssize_t         cupsBackChannelRead(char *buffer, size_t bytes,
                                            double timeout) _CUPS_API_1_2;
 extern ssize_t         cupsBackChannelWrite(const char *buffer, size_t bytes,
@@ -446,7 +446,7 @@ extern int          cupsRemoveOption(const char *name, int num_options,
                                         cups_option_t **options) _CUPS_API_1_2;
 extern cups_file_t     *cupsTempFile2(char *filename, int len) _CUPS_API_1_2;
 
-/**** New in CUPS 1.3/Mac OS X 10.5 ****/
+/**** New in CUPS 1.3/OS X 10.5 ****/
 extern ipp_t           *cupsDoIORequest(http_t *http, ipp_t *request,
                                         const char *resource, int infile,
                                         int outfile) _CUPS_API_1_3;
@@ -461,7 +461,7 @@ extern void         cupsSetDefaultDest(const char *name,
                                           int num_dests,
                                           cups_dest_t *dests) _CUPS_API_1_3;
 
-/**** New in CUPS 1.4/Mac OS X 10.6 ****/
+/**** New in CUPS 1.4/OS X 10.6 ****/
 extern ipp_status_t    cupsCancelJob2(http_t *http, const char *name,
                                       int job_id, int purge) _CUPS_API_1_4;
 extern int             cupsCreateJob(http_t *http, const char *name,
@@ -498,14 +498,14 @@ extern http_status_t      cupsStartDocument(http_t *http, const char *name,
 extern http_status_t   cupsWriteRequestData(http_t *http, const char *buffer,
                                             size_t length) _CUPS_API_1_4;
 
-/**** New in CUPS 1.5 ****/
+/**** New in CUPS 1.5/OS X 10.7 ****/
 extern void            cupsSetClientCertCB(cups_client_cert_cb_t cb,
                                            void *user_data) _CUPS_API_1_5;
 extern int             cupsSetCredentials(cups_array_t *certs) _CUPS_API_1_5;
 extern void            cupsSetServerCertCB(cups_server_cert_cb_t cb,
                                            void *user_data) _CUPS_API_1_5;
 
-/**** New in CUPS 1.6 ****/
+/**** New in CUPS 1.6/OS X 10.8 ****/
 extern ipp_status_t    cupsCancelDestJob(http_t *http, cups_dest_t *dest,
                                          int job_id) _CUPS_API_1_6;
 extern int             cupsCheckDestSupported(http_t *http, cups_dest_t *dest,
index 471361cc40496e88d97cae0a384b7e3c517bab9e..4c4cc8ace025449c728c5f2e99bf6b9c768328bd 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   PPD custom option routines for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -41,7 +41,7 @@
 /*
  * 'ppdFindCustomOption()' - Find a custom option.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ppd_coption_t *                                /* O - Custom option or NULL */
@@ -62,7 +62,7 @@ ppdFindCustomOption(ppd_file_t *ppd,  /* I - PPD file */
 /*
  * 'ppdFindCustomParam()' - Find a parameter for a custom option.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ppd_cparam_t *                         /* O - Custom parameter or NULL */
@@ -88,7 +88,7 @@ ppdFindCustomParam(ppd_coption_t *opt,        /* I - Custom option */
 /*
  * 'ppdFirstCustomParam()' - Return the first parameter for a custom option.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ppd_cparam_t *                         /* O - Custom parameter or NULL */
@@ -104,7 +104,7 @@ ppdFirstCustomParam(ppd_coption_t *opt)     /* I - Custom option */
 /*
  * 'ppdNextCustomParam()' - Return the next parameter for a custom option.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ppd_cparam_t *                         /* O - Custom parameter or NULL */
index 01f8578e0d6c24a152feeec2dc488612c40de44c..dc4f0879bf7e4a081c5e8975ec003d601e6d0ac2 100644 (file)
@@ -37,7 +37,7 @@
  * Returns IPP_OK on success and IPP_NOT_AUTHORIZED or IPP_FORBIDDEN on
  * failure.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 ipp_status_t
@@ -56,7 +56,7 @@ cupsCancelDestJob(http_t      *http,  /* I - Connection to destination */
  * "job_id" is the job ID returned by cupsCreateDestJob. Returns @code IPP_OK@
  * on success.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 ipp_status_t                           /* O - IPP status code */
@@ -140,7 +140,7 @@ cupsCloseDestJob(
  * Returns @code IPP_OK@ or @code IPP_OK_SUBST@ on success, saving the job ID
  * in the variable pointed to by "job_id".
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 ipp_status_t                           /* O - IPP status code */
@@ -228,7 +228,7 @@ cupsCreateDestJob(
  *
  * Returns @code IPP_OK@ or @code IPP_OK_SUBST@ on success.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 ipp_status_t                           /* O - Status of document submission */
@@ -275,7 +275,7 @@ cupsFinishDestDocument(
  * if this is the last document to be submitted in the job.  Returns
  * @code HTTP_CONTINUE@ on success.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 http_status_t                          /* O - Status of document creation */
index 9d0d8b1d7c0c8f13fbfafa1eabec45425198853f..375386909471ec1015ce35eb337c9485590afbc3 100644 (file)
@@ -35,7 +35,7 @@
  * The returned string is stored in the localization array and will become
  * invalid if the localization array is deleted.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 const char *                           /* O - Localized string */
@@ -56,7 +56,7 @@ cupsLocalizeDestOption(
  * The returned string is stored in the localization array and will become
  * invalid if the localization array is deleted.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 const char *                           /* O - Localized string */
index a36b5334e8dce3ec574550a5faf69cacc544011c..cfdf6077e58dfdcc6d0aefb7122061bb301d4d6a 100644 (file)
@@ -62,7 +62,7 @@ static int            cups_is_close_media_db(_cups_media_db_t *a,
  *
  * Returns 1 if supported, 0 otherwise.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O - 1 if supported, 0 otherwise */
@@ -249,7 +249,7 @@ cupsCheckDestSupported(
  * If cupsCopyDestConflicts returns 1 but "num_resolved" and "resolved" are set
  * to 0 and NULL, respectively, then the conflict cannot be resolved.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O - 1 if there is a conflict */
@@ -308,7 +308,7 @@ cupsCopyDestConflicts(
  * The caller is responsible for calling @link cupsFreeDestInfo@ on the return
  * value. @code NULL@ is returned on error.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 cups_dinfo_t *                         /* O - Destination information */
@@ -459,7 +459,7 @@ cupsFreeDestInfo(cups_dinfo_t *dinfo)       /* I - Destination information */
  *
  * Returns 1 when there is a match and 0 if there is not a match.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O - 1 on match, 0 on failure */
@@ -525,7 +525,7 @@ cupsGetDestMediaByName(
  *
  * Returns 1 when there is a match and 0 if there is not a match.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O - 1 on match, 0 on failure */
index bf9a0dcc46b35c0a70d724c32045e53f32093d8a..ee9d57208bc0d4edb5944c008285e45d82e27ea2 100644 (file)
@@ -544,7 +544,7 @@ _cupsAppleSetUseLastPrinter(
  * 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.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 http_t *                               /* O - Connection to server or @code NULL@ */
@@ -710,7 +710,7 @@ cupsConnectDest(
  * 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.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 http_t *                               /* O - Connection to server or @code NULL@ */
@@ -736,7 +736,7 @@ cupsConnectDestBlock(
  * copy) - for use with the cupsEnumDests* functions. The caller is responsible
  * for calling cupsFreeDests() on the returned object(s).
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int
@@ -816,7 +816,7 @@ cupsCopyDest(cups_dest_t *dest,
  * Enumeration happens on the current thread and does not return until all
  * destinations have been enumerated or the callback function returns 0.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O - 1 on success, 0 on failure */
@@ -860,6 +860,8 @@ cupsEnumDests(
   * Range check input...
   */
 
+  (void)flags;
+
   if (!cb)
     return (0);
 
@@ -1028,7 +1030,7 @@ cupsEnumDests(
  * Enumeration happens on the current thread and does not return until all
  * destinations have been enumerated or the block returns 0.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O - 1 on success, 0 on failure */
@@ -1208,7 +1210,7 @@ _cupsGetDestResource(
  * Free the memory used by the destination array using the @link cupsFreeDests@
  * function.
  *
- * Note: On Mac OS X this function also gets the default paper from the system
+ * Note: On OS X this function also gets the default paper from the system
  * preferences (~/L/P/org.cups.PrintingPrefs.plist) and includes it in the
  * options array for each destination that supports it.
  */
@@ -1501,7 +1503,7 @@ cupsGetDests(cups_dest_t **dests) /* O - Destinations */
  * 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/Mac OS X 10.4@
+ * @since CUPS 1.1.21/OS X 10.4@
  */
 
 int                                    /* O - Number of destinations */
@@ -1684,7 +1686,7 @@ cupsGetDests2(http_t      *http,  /* I - Connection to server or @code CUPS_HTTP_
  * The returned destination must be freed using @link cupsFreeDests@ with a
  * "num_dests" value of 1.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 cups_dest_t *                          /* O - Destination or @code NULL@ */
@@ -1809,7 +1811,7 @@ cupsGetNamedDest(http_t     *http,        /* I - Connection to server or @code CUPS_HTT
  * @link cupsSetDests@ or @link cupsSetDests2@ functions to save the new
  * options for the user.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 int                                    /* O  - New number of destinations */
@@ -1855,7 +1857,7 @@ cupsRemoveDest(const char  *name, /* I  - Destination name */
 /*
  * 'cupsSetDefaultDest()' - Set the default destination.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 void
@@ -1910,7 +1912,7 @@ cupsSetDests(int         num_dests,       /* I - Number of destinations */
  * This function saves the destinations to /etc/cups/lpoptions when run
  * as root and ~/.cups/lpoptions when run as a normal user.
  *
- * @since CUPS 1.1.21/Mac OS X 10.4@
+ * @since CUPS 1.1.21/OS X 10.4@
  */
 
 int                                    /* O - 0 on success, -1 on error */
index 94a2a9b5b9e80e0f78bb0b4485e720a326690255..b98f07c850b9fe762bac332ddc59c9c483d3af19 100644 (file)
@@ -5,7 +5,7 @@
  *
  *   This set of APIs abstracts enumeration of directory entries.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2005 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -79,7 +79,7 @@ _cups_dir_time(FILETIME ft)           /* I - File time */
 /*
  * 'cupsDirClose()' - Close a directory.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void
@@ -110,7 +110,7 @@ cupsDirClose(cups_dir_t *dp)                /* I - Directory pointer */
 /*
  * 'cupsDirOpen()' - Open a directory.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 cups_dir_t *                           /* O - Directory pointer or @code NULL@ if the directory could not be opened. */
@@ -153,7 +153,7 @@ cupsDirOpen(const char *directory)  /* I - Directory name */
 /*
  * 'cupsDirRead()' - Read the next directory entry.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 cups_dentry_t *                                /* O - Directory entry or @code NULL@ if there are no more */
@@ -213,7 +213,7 @@ cupsDirRead(cups_dir_t *dp)         /* I - Directory pointer */
 /*
  * 'cupsDirRewind()' - Rewind to the start of the directory.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void
@@ -263,7 +263,7 @@ struct _cups_dir_s                  /**** Directory data structure ****/
 /*
  * 'cupsDirClose()' - Close a directory.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void
@@ -290,7 +290,7 @@ cupsDirClose(cups_dir_t *dp)                /* I - Directory pointer */
 /*
  * 'cupsDirOpen()' - Open a directory.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 cups_dir_t *                           /* O - Directory pointer or @code NULL@ if the directory could not be opened. */
@@ -344,7 +344,7 @@ cupsDirOpen(const char *directory)  /* I - Directory name */
 /*
  * 'cupsDirRead()' - Read the next directory entry.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 cups_dentry_t *                                /* O - Directory entry or @code NULL@ when there are no more */
@@ -442,7 +442,7 @@ cupsDirRead(cups_dir_t *dp)         /* I - Directory pointer */
 /*
  * 'cupsDirRewind()' - Rewind to the start of the directory.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void
index e322bfe1ad3fc2ead80426f918bb1595efd53fec..650e8479bffb558fa136e86aad29b44f9e7c6cbd 100644 (file)
@@ -87,7 +87,7 @@ ppdCollect(ppd_file_t    *ppd,                /* I - PPD file data */
  * The choices array should be freed using @code free@ when you are
  * finished with it.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - Number of options marked */
@@ -260,7 +260,7 @@ ppdEmit(ppd_file_t    *ppd,         /* I - PPD file record */
  *
  * When "limit" is zero, this function is identical to ppdEmit().
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 0 on success, -1 on failure */
@@ -554,7 +554,7 @@ ppdEmitJCL(ppd_file_t *ppd,         /* I - PPD file record */
 /*
  * 'ppdEmitJCLEnd()' - Emit JCLEnd code to a file.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 0 on success, -1 on failure */
@@ -613,7 +613,7 @@ ppdEmitJCLEnd(ppd_file_t *ppd,              /* I - PPD file record */
  * The return string is allocated on the heap and should be freed using
  * @code free@ when you are done with it.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 char *                                 /* O - String containing option code or @code NULL@ if there is no option code */
index 2226e19508caeea0bd15133b1c20a2b80173d9dd..b417fe164c06b94968833bba25b1eb2cc314ec91 100644 (file)
@@ -227,7 +227,7 @@ cupsEncodeOptions(ipp_t         *ipp,               /* I - Request to add to */
  * function multiple times for each group, or use cupsEncodeOptions()
  * to add the standard groups.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void
index 2711e56800fef4f7031a27eaa3bee78f3bd1e302..1918ec5bef73a1bc8ad1af8d429740bc79ccb726 100644 (file)
@@ -8,7 +8,7 @@
  *   our own file functions allows us to provide transparent support of
  *   gzip'd print files, PPD files, etc.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -352,7 +352,7 @@ _cupsFileCheckFilter(
 /*
  * 'cupsFileClose()' - Close a CUPS file.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 0 on success, -1 on error */
@@ -484,7 +484,7 @@ cupsFileClose(cups_file_t *fp)              /* I - CUPS file */
 /*
  * 'cupsFileCompression()' - Return whether a file is compressed.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - @code CUPS_FILE_NONE@ or @code CUPS_FILE_GZIP@ */
@@ -497,7 +497,7 @@ cupsFileCompression(cups_file_t *fp)        /* I - CUPS file */
 /*
  * 'cupsFileEOF()' - Return the end-of-file status.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 1 on end of file, 0 otherwise */
@@ -516,7 +516,7 @@ cupsFileEOF(cups_file_t *fp)                /* I - CUPS file */
  * the supplied paths, @code NULL@ is returned. A @code NULL@ path only
  * matches the current directory.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 const char *                           /* O - Full path to file or @code NULL@ if not found */
@@ -619,7 +619,7 @@ cupsFileFind(const char *filename,  /* I - File to find */
 /*
  * 'cupsFileFlush()' - Flush pending output.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 0 on success, -1 on error */
@@ -667,7 +667,7 @@ cupsFileFlush(cups_file_t *fp)              /* I - CUPS file */
 /*
  * 'cupsFileGetChar()' - Get a single character from a file.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - Character or -1 on end of file */
@@ -711,7 +711,7 @@ cupsFileGetChar(cups_file_t *fp)    /* I - CUPS file */
 /*
  * 'cupsFileGetConf()' - Get a line from a configuration file.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 char *                                 /* O  - Line read or @code NULL@ on end of file or error */
@@ -855,7 +855,7 @@ cupsFileGetConf(cups_file_t *fp,    /* I  - CUPS file */
  * nul-terminated, however you should use the returned length to determine
  * the number of bytes on the line.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 size_t                                 /* O - Number of bytes on line or 0 on end of file */
@@ -930,7 +930,7 @@ cupsFileGetLine(cups_file_t *fp,    /* I - File to read from */
 /*
  * 'cupsFileGets()' - Get a CR and/or LF-terminated line.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 char *                                 /* O - Line read or @code NULL@ on end of file or error */
@@ -1012,7 +1012,7 @@ cupsFileGets(cups_file_t *fp,             /* I - CUPS file */
 /*
  * 'cupsFileLock()' - Temporarily lock access to a file.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 0 on success, -1 on error */
@@ -1041,7 +1041,7 @@ cupsFileLock(cups_file_t *fp,             /* I - CUPS file */
 /*
  * 'cupsFileNumber()' - Return the file descriptor associated with a CUPS file.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - File descriptor */
@@ -1070,7 +1070,7 @@ cupsFileNumber(cups_file_t *fp)           /* I - CUPS file */
  * connection as needed, generally preferring IPv6 connections when there is
  * a choice.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 cups_file_t *                          /* O - CUPS file or @code NULL@ if the file or socket cannot be opened */
@@ -1192,7 +1192,7 @@ cupsFileOpen(const char *filename,        /* I - Name of file */
  * supplied which enables Flate compression of the file.  Compression is
  * not supported for the "a" (append) mode.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 cups_file_t *                          /* O - CUPS file or @code NULL@ if the file could not be opened */
@@ -1304,7 +1304,7 @@ cupsFileOpenFd(int        fd,             /* I - File descriptor */
 /*
  * 'cupsFilePeekChar()' - Peek at the next character from a file.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - Character or -1 on end of file */
@@ -1336,7 +1336,7 @@ cupsFilePeekChar(cups_file_t *fp) /* I - CUPS file */
 /*
  * 'cupsFilePrintf()' - Write a formatted string.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - Number of bytes written or -1 on error */
@@ -1433,7 +1433,7 @@ cupsFilePrintf(cups_file_t *fp,           /* I - CUPS file */
 /*
  * 'cupsFilePutChar()' - Write a character.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 0 on success, -1 on error */
@@ -1487,7 +1487,7 @@ cupsFilePutChar(cups_file_t *fp,  /* I - CUPS file */
  *
  * This function handles any comment escaping of the value.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 ssize_t                                        /* O - Number of bytes written or -1 on error */
@@ -1548,7 +1548,7 @@ cupsFilePutConf(cups_file_t *fp,  /* I - CUPS file */
  *
  * Like the @code fputs@ function, no newline is appended to the string.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - Number of bytes written or -1 on error */
@@ -1612,7 +1612,7 @@ cupsFilePuts(cups_file_t *fp,             /* I - CUPS file */
 /*
  * 'cupsFileRead()' - Read from a file.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ssize_t                                        /* O - Number of bytes read or -1 on error */
@@ -1689,7 +1689,7 @@ cupsFileRead(cups_file_t *fp,             /* I - CUPS file */
  * 'cupsFileRewind()' - Set the current file position to the beginning of the
  *                      file.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 off_t                                  /* O - New file position or -1 on error */
@@ -1761,7 +1761,7 @@ cupsFileRewind(cups_file_t *fp)           /* I - CUPS file */
 /*
  * 'cupsFileSeek()' - Seek in a file.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 off_t                                  /* O - New file position or -1 on error */
@@ -1914,7 +1914,7 @@ cupsFileSeek(cups_file_t *fp,             /* I - CUPS file */
 /*
  * 'cupsFileStderr()' - Return a CUPS file associated with stderr.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 cups_file_t *                          /* O - CUPS file */
@@ -1950,7 +1950,7 @@ cupsFileStderr(void)
 /*
  * 'cupsFileStdin()' - Return a CUPS file associated with stdin.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 cups_file_t *                          /* O - CUPS file */
@@ -1980,7 +1980,7 @@ cupsFileStdin(void)
 /*
  * 'cupsFileStdout()' - Return a CUPS file associated with stdout.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 cups_file_t *                          /* O - CUPS file */
@@ -2016,7 +2016,7 @@ cupsFileStdout(void)
 /*
  * 'cupsFileTell()' - Return the current file position.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 off_t                                  /* O - File position */
@@ -2033,7 +2033,7 @@ cupsFileTell(cups_file_t *fp)             /* I - CUPS file */
 /*
  * 'cupsFileUnlock()' - Unlock access to a file.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 0 on success, -1 on error */
@@ -2063,7 +2063,7 @@ cupsFileUnlock(cups_file_t *fp)           /* I - CUPS file */
 /*
  * 'cupsFileWrite()' - Write to a file.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ssize_t                                        /* O - Number of bytes written or -1 on error */
index a0744ac894b0a6c710c83385dc62075eea392ccc..c1f5a294a21db8f689d2434ca176a4e6053e4a0a 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   cupsGetDevices implementation for CUPS.
  *
- *   Copyright 2008-2011 by Apple Inc.
+ *   Copyright 2008-2012 by Apple Inc.
  *
  *   These coded instructions, statements, and computer programs are the
  *   property of Apple Inc. and are protected by Federal copyright
@@ -34,7 +34,7 @@
  * parameters provide comma-delimited lists of backends to include or omit from
  * the request respectively.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 ipp_status_t                           /* O - Request status - @code IPP_OK@ on success. */
index 5104abdd86abed0470429534f756ca85b9a72059..7e12fe9fc4308bd197f87015d60418a0065af034 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Get/put file functions for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -41,7 +41,7 @@
  *
  * This function returns @code HTTP_OK@ when the file is successfully retrieved.
  *
- * @since CUPS 1.1.20/Mac OS X 10.4@
+ * @since CUPS 1.1.20/OS X 10.4@
  */
 
 http_status_t                          /* O - HTTP status */
@@ -187,7 +187,7 @@ cupsGetFd(http_t     *http,         /* I - Connection to server or @code CUPS_HTTP_DEFA
  *
  * This function returns @code HTTP_OK@ when the file is successfully retrieved.
  *
- * @since CUPS 1.1.20/Mac OS X 10.4@
+ * @since CUPS 1.1.20/OS X 10.4@
  */
 
 http_status_t                          /* O - HTTP status */
@@ -255,7 +255,7 @@ cupsGetFile(http_t     *http,               /* I - Connection to server or @code CUPS_HTTP_DE
  * This function returns @code HTTP_CREATED@ when the file is stored
  * successfully.
  *
- * @since CUPS 1.1.20/Mac OS X 10.4@
+ * @since CUPS 1.1.20/OS X 10.4@
  */
 
 http_status_t                          /* O - HTTP status */
@@ -446,7 +446,7 @@ cupsPutFd(http_t     *http,         /* I - Connection to server or @code CUPS_HTTP_DEFA
  * This function returns @code HTTP_CREATED@ when the file is stored
  * successfully.
  *
- * @since CUPS 1.1.20/Mac OS X 10.4@
+ * @since CUPS 1.1.20/OS X 10.4@
  */
 
 http_status_t                          /* O - HTTP status */
index 86375ea5cbed119cc6ce7c2ac076510844e8c804..bc4191c1dba48bd51f8660d499831b009c43c7c5 100644 (file)
@@ -44,8 +44,10 @@ static _cups_threadkey_t cups_globals_key = _CUPS_THREADKEY_INITIALIZER;
 static pthread_once_t  cups_globals_key_once = PTHREAD_ONCE_INIT;
                                        /* One-time initialization object */
 #endif /* HAVE_PTHREAD_H */
+#if defined(HAVE_PTHREAD_H) || defined(WIN32)
 static _cups_mutex_t   cups_global_mutex = _CUPS_MUTEX_INITIALIZER;
                                        /* Global critical section */
+#endif /* HAVE_PTHREAD_H || WIN32 */
 
 
 /*
@@ -56,7 +58,9 @@ static _cups_mutex_t  cups_global_mutex = _CUPS_MUTEX_INITIALIZER;
 static void            cups_fix_path(char *path);
 #endif /* WIN32 */
 static _cups_globals_t *cups_globals_alloc(void);
+#if defined(HAVE_PTHREAD_H) || defined(WIN32)
 static void            cups_globals_free(_cups_globals_t *g);
+#endif /* HAVE_PTHREAD_H || WIN32 */
 #ifdef HAVE_PTHREAD_H
 static void            cups_globals_init(void);
 #endif /* HAVE_PTHREAD_H */
@@ -322,6 +326,7 @@ cups_globals_alloc(void)
  * 'cups_globals_free()' - Free global data.
  */
 
+#if defined(HAVE_PTHREAD_H) || defined(WIN32)
 static void
 cups_globals_free(_cups_globals_t *cg) /* I - Pointer to global data */
 {
@@ -354,6 +359,7 @@ cups_globals_free(_cups_globals_t *cg)      /* I - Pointer to global data */
 
   free(cg);
 }
+#endif /* HAVE_PTHREAD_H || WIN32 */
 
 
 #ifdef HAVE_PTHREAD_H
index faf7348d2adfabbedc0a4b602e7d27e26a14f0cd..9e1ef660f45591327b93f7d28935d1d6973fded7 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   HTTP address routines for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -45,7 +45,7 @@
 /*
  * 'httpAddrAny()' - Check for the "any" address.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 1 if "any", 0 otherwise */
@@ -71,7 +71,7 @@ httpAddrAny(const http_addr_t *addr)  /* I - Address to check */
 /*
  * 'httpAddrEqual()' - Compare two addresses.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                            /* O - 1 if equal, 0 if not */
@@ -104,7 +104,7 @@ httpAddrEqual(const http_addr_t *addr1,             /* I - First address */
 /*
  * 'httpAddrLength()' - Return the length of the address in bytes.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - Length in bytes */
@@ -135,7 +135,7 @@ httpAddrLength(const http_addr_t *addr)     /* I - Address */
 /*
  * 'httpAddrLocalhost()' - Check for the local loopback address.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 1 if local host, 0 otherwise */
@@ -174,7 +174,7 @@ httpAddrLocalhost(
 /*
  * 'httpAddrLookup()' - Lookup the hostname associated with the address.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 char *                                 /* O - Host name */
@@ -342,7 +342,7 @@ _httpAddrSetPort(http_addr_t *addr, /* I - Address */
 /*
  * 'httpAddrString()' - Convert an address to a numeric string.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 char *                                 /* O - Numeric address string */
@@ -616,7 +616,7 @@ httpGetHostByName(const char *name) /* I - Hostname or IP address */
  * Otherwise, return the FQDN for the local system using both gethostname()
  * and gethostbyname() to get the local hostname with domain.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 const char *                           /* O - FQDN for connection or system */
index 93e4df58f59b800992dcfb2bbadcf0f6efa77487..223a68695ffcb7308f249d27848f0e0e2db0caca 100644 (file)
@@ -40,7 +40,7 @@
 /*
  * 'httpAddrConnect()' - Connect to any of the addresses in the list.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 http_addrlist_t *                      /* O - Connected address or NULL on failure */
@@ -58,7 +58,7 @@ httpAddrConnect(
  * 'httpAddrConnect2()' - Connect to any of the addresses in the list with a
  *                        timeout and optional cancel.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 http_addrlist_t *                      /* O - Connected address or NULL on failure */
@@ -330,7 +330,7 @@ httpAddrConnect2(
 /*
  * 'httpAddrFreeList()' - Free an address list.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void
@@ -358,7 +358,7 @@ httpAddrFreeList(
 /*
  * 'httpAddrGetList()' - Get a list of addresses for a hostname.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 http_addrlist_t        *                       /* O - List of addresses or NULL */
index ab98b5ab3c5dfde1c9bd0799c920358c859ca249..3cfeff7f6371173a0c55cccecdfddf018baf39ba 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Private HTTP definitions for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -154,6 +154,7 @@ extern "C" {
 #define _HTTP_RESOLVE_DEFAULT  0       /* Just resolve with default options */
 #define _HTTP_RESOLVE_STDERR   1       /* Log resolve progress to stderr */
 #define _HTTP_RESOLVE_FQDN     2       /* Resolve to a FQDN */
+#define _HTTP_RESOLVE_FAXOUT   4       /* Resolve FaxOut service? */
 
 
 /*
index 40c69826f349caef9da8b6c976cb338978209d91..19538941dd95f2356baacc4577cc88e537bbce1f 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   HTTP support routines for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
  *
  * Contents:
  *
- *   httpAssembleURI()    - Assemble a uniform resource identifier from its
- *                          components.
+ *   httpAssembleURI()   - Assemble a uniform resource identifier from its
+ *                         components.
  *   httpAssembleURIf()   - Assemble a uniform resource identifier from its
- *                          components with a formatted resource.
+ *                         components with a formatted resource.
  *   _httpAssembleUUID()  - Make a UUID URI conforming to RFC 4122.
- *   httpDecode64()       - Base64-decode a string.
- *   httpDecode64_2()     - Base64-decode a string.
- *   httpEncode64()       - Base64-encode a string.
- *   httpEncode64_2()     - Base64-encode a string.
+ *   httpDecode64()      - Base64-decode a string.
+ *   httpDecode64_2()    - Base64-decode a string.
+ *   httpEncode64()      - Base64-encode a string.
+ *   httpEncode64_2()    - Base64-encode a string.
  *   httpGetDateString()  - Get a formatted date/time string from a time value.
  *   httpGetDateString2() - Get a formatted date/time string from a time value.
- *   httpGetDateTime()    - Get a time value from a formatted date/time string.
- *   httpSeparate()       - Separate a Universal Resource Identifier into its
- *                          components.
- *   httpSeparate2()      - Separate a Universal Resource Identifier into its
- *                          components.
- *   httpSeparateURI()    - Separate a Universal Resource Identifier into its
- *                          components.
- *   httpStatus()         - Return a short string describing a HTTP status code.
- *   _cups_hstrerror()    - hstrerror() emulation function for Solaris and
- *                          others.
- *   _httpDecodeURI()     - Percent-decode a HTTP request URI.
- *   _httpEncodeURI()     - Percent-encode a HTTP request URI.
- *   _httpResolveURI()    - Resolve a DNS-SD URI.
+ *   httpGetDateTime()   - Get a time value from a formatted date/time string.
+ *   httpSeparate()      - Separate a Universal Resource Identifier into its
+ *                         components.
+ *   httpSeparate2()     - Separate a Universal Resource Identifier into its
+ *                         components.
+ *   httpSeparateURI()   - Separate a Universal Resource Identifier into its
+ *                         components.
+ *   httpStatus()        - Return a short string describing a HTTP status
+ *                         code.
+ *   _cups_hstrerror()   - hstrerror() emulation function for Solaris and
+ *                         others.
+ *   _httpDecodeURI()    - Percent-decode a HTTP request URI.
+ *   _httpEncodeURI()    - Percent-encode a HTTP request URI.
+ *   _httpResolveURI()   - Resolve a DNS-SD URI.
+ *   http_client_cb()    - Client callback for resolving URI.
  *   http_copy_decode()   - Copy and decode a URI.
  *   http_copy_encode()   - Copy and encode a URI.
- *   http_resolve_cb()    - Build a device URI for the given service name.
+ *   http_poll_cb()       - Wait for input on the specified file descriptors.
+ *   http_resolve_cb()   - Build a device URI for the given service name.
+ *   http_resolve_cb()   - Build a device URI for the given service name.
  */
 
 /*
 #  else
 #    include <sys/select.h>
 #  endif /* WIN32 */
+#elif defined(HAVE_AVAHI)
+#  include <avahi-client/client.h>
+#  include <avahi-client/lookup.h>
+#  include <avahi-common/simple-watch.h>
 #endif /* HAVE_DNSSD */
 
 
 
 typedef struct _http_uribuf_s          /* URI buffer */
 {
-  char         *buffer;                /* Pointer to buffer */
-  size_t       bufsize;                /* Size of buffer */
-  int          options;                /* Options passed to _httpResolveURI */
+#ifdef HAVE_AVAHI
+  AvahiSimplePoll      *poll;          /* Poll state */
+#endif /* HAVE_AVAHI */
+  char                 *buffer;        /* Pointer to buffer */
+  size_t               bufsize;        /* Size of buffer */
+  int                  options;        /* Options passed to _httpResolveURI */
 } _http_uribuf_t;
 
 
@@ -127,6 +138,22 @@ static void DNSSD_API      http_resolve_cb(DNSServiceRef sdRef,
                                        void *context);
 #endif /* HAVE_DNSSD */
 
+#ifdef HAVE_AVAHI
+static void    http_client_cb(AvahiClient *client,
+                              AvahiClientState state, void *simple_poll);
+static int     http_poll_cb(struct pollfd *pollfds, unsigned int num_pollfds,
+                            int timeout, void *context);
+static void    http_resolve_cb(AvahiServiceResolver *resolver,
+                               AvahiIfIndex interface,
+                               AvahiProtocol protocol,
+                               AvahiResolverEvent event,
+                               const char *name, const char *type,
+                               const char *domain, const char *host_name,
+                               const AvahiAddress *address, uint16_t port,
+                               AvahiStringList *txt,
+                               AvahiLookupResultFlags flags, void *context);
+#endif /* HAVE_AVAHI */
+
 
 /*
  * 'httpAssembleURI()' - Assemble a uniform resource identifier from its
@@ -137,7 +164,7 @@ static void DNSSD_API       http_resolve_cb(DNSServiceRef sdRef,
  * place of traditional string functions whenever you need to create a
  * URI string.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 http_uri_status_t                      /* O - URI status */
@@ -387,7 +414,7 @@ httpAssembleURI(
  * this function in place of traditional string functions whenever
  * you need to create a URI string.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 http_uri_status_t                      /* O - URI status */
@@ -517,7 +544,7 @@ httpDecode64(char       *out,               /* I - String to write to */
 /*
  * 'httpDecode64_2()' - Base64-decode a string.
  *
- * @since CUPS 1.1.21/Mac OS X 10.4@
+ * @since CUPS 1.1.21/OS X 10.4@
  */
 
 char *                                 /* O  - Decoded string */
@@ -636,7 +663,7 @@ httpEncode64(char       *out,               /* I - String to write to */
 /*
  * 'httpEncode64_2()' - Base64-encode a string.
  *
- * @since CUPS 1.1.21/Mac OS X 10.4@
+ * @since CUPS 1.1.21/OS X 10.4@
  */
 
 char *                                 /* O - Encoded string */
@@ -745,7 +772,7 @@ httpGetDateString(time_t t)         /* I - UNIX time */
 /*
  * 'httpGetDateString2()' - Get a formatted date/time string from a time value.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 const char *                           /* O - Date/time string */
@@ -865,7 +892,7 @@ httpSeparate(const char *uri,               /* I - Universal Resource Identifier */
  *
  * This function is deprecated; use the httpSeparateURI() function instead.
  *
- * @since CUPS 1.1.21/Mac OS X 10.4@
+ * @since CUPS 1.1.21/OS X 10.4@
  * @deprecated@
  */
 
@@ -890,7 +917,7 @@ httpSeparate2(const char *uri,              /* I - Universal Resource Identifier */
  * 'httpSeparateURI()' - Separate a Universal Resource Identifier into its
  *                       components.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 http_uri_status_t                      /* O - Result of separation */
@@ -1434,24 +1461,29 @@ _httpResolveURI(
 
   if (strstr(hostname, "._tcp"))
   {
-#ifdef HAVE_DNSSD
-#  ifdef WIN32
-#    pragma comment(lib, "dnssd.lib")
-#  endif /* WIN32 */
-    DNSServiceRef      ref,            /* DNS-SD master service reference */
-                       domainref,      /* DNS-SD service reference for domain */
-                       localref;       /* DNS-SD service reference for .local */
-    int                        domainsent = 0, /* Send the domain resolve? */
-                       offline = 0;    /* offline-report state set? */
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
     char               *regtype,       /* Pointer to type in hostname */
                        *domain;        /* Pointer to domain in hostname */
     _http_uribuf_t     uribuf;         /* URI buffer */
-#ifdef HAVE_POLL
+    int                        offline = 0;    /* offline-report state set? */
+#  ifdef HAVE_DNSSD
+#    ifdef WIN32
+#      pragma comment(lib, "dnssd.lib")
+#    endif /* WIN32 */
+    DNSServiceRef      ref,            /* DNS-SD master service reference */
+                       domainref,      /* DNS-SD service reference for domain */
+                       localref;       /* DNS-SD service reference for .local */
+    int                        domainsent = 0; /* Send the domain resolve? */
+#    ifdef HAVE_POLL
     struct pollfd      polldata;       /* Polling data */
-#else /* select() */
+#    else /* select() */
     fd_set             input_set;      /* Input set for select() */
     struct timeval     stimeout;       /* Timeout value for select() */
-#endif /* HAVE_POLL */
+#    endif /* HAVE_POLL */
+#  elif defined(HAVE_AVAHI)
+    AvahiClient                *client;        /* Client information */
+    int                        error;          /* Status */
+#  endif /* HAVE_DNSSD */
 
     if (options & _HTTP_RESOLVE_STDERR)
       fprintf(stderr, "DEBUG: Resolving \"%s\"...\n", hostname);
@@ -1491,6 +1523,7 @@ _httpResolveURI(
     uribuf.buffer   = resolved_uri;
     uribuf.bufsize  = resolved_size;
     uribuf.options  = options;
+
     resolved_uri[0] = '\0';
 
     DEBUG_printf(("6_httpResolveURI: Resolving hostname=\"%s\", regtype=\"%s\", "
@@ -1504,6 +1537,7 @@ _httpResolveURI(
 
     uri = NULL;
 
+#  ifdef HAVE_DNSSD
     if (DNSServiceCreateConnection(&ref) == kDNSServiceErr_NoError)
     {
       localref = ref;
@@ -1536,26 +1570,26 @@ _httpResolveURI(
          if ((timeout = end_time - time(NULL)) > 2)
            timeout = 2;
 
-#ifdef HAVE_POLL
+#    ifdef HAVE_POLL
          polldata.fd     = DNSServiceRefSockFD(ref);
          polldata.events = POLLIN;
 
          fds = poll(&polldata, 1, 1000 * timeout);
 
-#else /* select() */
+#    else /* select() */
          FD_ZERO(&input_set);
          FD_SET(DNSServiceRefSockFD(ref), &input_set);
 
-#ifdef WIN32
+#      ifdef WIN32
          stimeout.tv_sec  = (long)timeout;
-#else
+#      else
          stimeout.tv_sec  = timeout;
-#endif /* WIN32 */
+#      endif /* WIN32 */
          stimeout.tv_usec = 0;
 
          fds = select(DNSServiceRefSockFD(ref)+1, &input_set, NULL, NULL,
                       &stimeout);
-#endif /* HAVE_POLL */
+#    endif /* HAVE_POLL */
 
          if (fds < 0)
          {
@@ -1619,6 +1653,74 @@ _httpResolveURI(
 
       DNSServiceRefDeallocate(ref);
     }
+#  else /* HAVE_AVAHI */
+    if ((uribuf.poll = avahi_simple_poll_new()) != NULL)
+    {
+      avahi_simple_poll_set_func(uribuf.poll, http_poll_cb, NULL);
+
+      if ((client = avahi_client_new(avahi_simple_poll_get(uribuf.poll),
+                                     0, http_client_cb,
+                                     &uribuf, &error)) != NULL)
+      {
+       if (avahi_service_resolver_new(client, AVAHI_IF_UNSPEC,
+                                      AVAHI_PROTO_UNSPEC, hostname,
+                                      regtype, "local.", AVAHI_PROTO_UNSPEC, 0,
+                                      http_resolve_cb, &uribuf) != NULL)
+       {
+         time_t        start_time = time(NULL),
+                                       /* Start time */
+                       end_time = start_time + 90;
+                                       /* End time */
+          int           pstatus;       /* Poll status */
+
+         pstatus = avahi_simple_poll_iterate(uribuf.poll, 2000);
+
+         if (pstatus == 0 && !resolved_uri[0] && domain &&
+             _cups_strcasecmp(domain, "local."))
+         {
+          /*
+           * Resolve for .local hasn't returned anything, try the listed
+           * domain...
+           */
+
+           avahi_service_resolver_new(client, AVAHI_IF_UNSPEC,
+                                      AVAHI_PROTO_UNSPEC, hostname,
+                                      regtype, domain, AVAHI_PROTO_UNSPEC, 0,
+                                      http_resolve_cb, &uribuf);
+          }
+
+         while (!pstatus && !resolved_uri[0] && time(NULL) < end_time)
+          {
+           if ((pstatus = avahi_simple_poll_iterate(uribuf.poll, 2000)) != 0)
+             break;
+
+          /*
+           * If it hasn't resolved within 5 seconds set the offline-report
+           * printer-state-reason...
+           */
+
+           if ((options & _HTTP_RESOLVE_STDERR) && offline == 0 &&
+               time(NULL) > (start_time + 5))
+           {
+             fputs("STATE: +offline-report\n", stderr);
+             offline = 1;
+           }
+          }
+
+        /*
+         * Collect the result (if we got one).
+         */
+
+         if (resolved_uri[0])
+           uri = resolved_uri;
+       }
+
+       avahi_client_free(client);
+      }
+
+      avahi_simple_poll_free(uribuf.poll);
+    }
+#  endif /* HAVE_DNSSD */
 
     if (options & _HTTP_RESOLVE_STDERR)
     {
@@ -1634,13 +1736,13 @@ _httpResolveURI(
       }
     }
 
-#else
+#else /* HAVE_DNSSD || HAVE_AVAHI */
    /*
     * No DNS-SD support...
     */
 
     uri = NULL;
-#endif /* HAVE_DNSSD */
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 
     if ((options & _HTTP_RESOLVE_STDERR) && !uri)
       _cupsLangPrintFilter(stderr, "ERROR", _("Unable to find printer."));
@@ -1661,6 +1763,35 @@ _httpResolveURI(
 }
 
 
+#ifdef HAVE_AVAHI
+/*
+ * 'http_client_cb()' - Client callback for resolving URI.
+ */
+
+static void
+http_client_cb(
+    AvahiClient      *client,          /* I - Client information */
+    AvahiClientState state,            /* I - Current state */
+    void             *context)         /* I - Pointer to URI buffer */
+{
+  DEBUG_printf(("7http_client_cb(client=%p, state=%d, context=%p)", client,
+                state, context));
+
+ /*
+  * If the connection drops, quit.
+  */
+
+  if (state == AVAHI_CLIENT_FAILURE)
+  {
+    _http_uribuf_t *uribuf = (_http_uribuf_t *)context;
+                                       /* URI buffer */
+
+    avahi_simple_poll_quit(uribuf->poll);
+  }
+}
+#endif /* HAVE_AVAHI */
+
+
 /*
  * 'http_copy_decode()' - Copy and decode a URI.
  */
@@ -1796,13 +1927,16 @@ http_resolve_cb(
     const unsigned char *txtRecord,    /* I - TXT record data */
     void                *context)      /* I - Pointer to URI buffer */
 {
+  _http_uribuf_t       *uribuf = (_http_uribuf_t *)context;
+                                       /* URI buffer */
   const char           *scheme,        /* URI scheme */
-                       *hostptr;       /* Pointer into hostTarget */
-  char                 rp[257],        /* Remote printer */
+                       *hostptr,       /* Pointer into hostTarget */
+                       *reskey,        /* "rp" or "rfo" */
+                       *resdefault;    /* Default path */
+  char                 resource[257],  /* Remote path */
                        fqdn[256];      /* FQDN of the .local name */
   const void           *value;         /* Value from TXT record */
   uint8_t              valueLen;       /* Length of value */
-  _http_uribuf_t       *uribuf;        /* URI buffer */
 
 
   DEBUG_printf(("7http_resolve_cb(sdRef=%p, flags=%x, interfaceIndex=%u, "
@@ -1811,8 +1945,6 @@ http_resolve_cb(
                interfaceIndex, errorCode, fullName, hostTarget, port, txtLen,
                txtRecord, context));
 
-  uribuf = (_http_uribuf_t *)context;
-
  /*
   * Figure out the scheme from the full name...
   */
@@ -1836,17 +1968,29 @@ http_resolve_cb(
   * Extract the "remote printer" key from the TXT record...
   */
 
-  if ((value = TXTRecordGetValuePtr(txtLen, txtRecord, "rp",
+  if ((uribuf->options & _HTTP_RESOLVE_FAXOUT) &&
+      (!strcmp(scheme, "ipp") || !strcmp(scheme, "ipps")))
+  {
+    reskey     = "rfo";
+    resdefault = "/ipp/faxout";
+  }
+  else
+  {
+    reskey     = "rp";
+    resdefault = "/";
+  }
+
+  if ((value = TXTRecordGetValuePtr(txtLen, txtRecord, reskey,
                                     &valueLen)) != NULL)
   {
     if (((char *)value)[0] == '/')
     {
      /*
-      * "rp" value (incorrectly) has a leading slash already...
+      * Value (incorrectly) has a leading slash already...
       */
 
-      memcpy(rp, value, valueLen);
-      rp[valueLen] = '\0';
+      memcpy(resource, value, valueLen);
+      resource[valueLen] = '\0';
     }
     else
     {
@@ -1854,19 +1998,18 @@ http_resolve_cb(
       * Convert to resource by concatenating with a leading "/"...
       */
 
-      rp[0] = '/';
-      memcpy(rp + 1, value, valueLen);
-      rp[valueLen + 1] = '\0';
+      resource[0] = '/';
+      memcpy(resource + 1, value, valueLen);
+      resource[valueLen + 1] = '\0';
     }
   }
   else
   {
    /*
-    * Default "rp" value is blank, mapping to a path of "/"...
+    * Use the default value...
     */
 
-    rp[0] = '/';
-    rp[1] = '\0';
+    strlcpy(resource, resdefault, sizeof(resource));
   }
 
  /*
@@ -1922,10 +2065,220 @@ http_resolve_cb(
   */
 
   httpAssembleURI(HTTP_URI_CODING_ALL, uribuf->buffer, uribuf->bufsize, scheme,
-                  NULL, hostTarget, ntohs(port), rp);
+                  NULL, hostTarget, ntohs(port), resource);
 
   DEBUG_printf(("8http_resolve_cb: Resolved URI is \"%s\"...", uribuf->buffer));
 }
+
+#elif defined(HAVE_AVAHI)
+/*
+ * 'http_poll_cb()' - Wait for input on the specified file descriptors.
+ *
+ * Note: This function is needed because avahi_simple_poll_iterate is broken
+ *       and always uses a timeout of 0 (!) milliseconds.
+ *       (Avahi Ticket #364)
+ */
+
+static int                             /* O - Number of file descriptors matching */
+http_poll_cb(
+    struct pollfd *pollfds,            /* I - File descriptors */
+    unsigned int  num_pollfds,         /* I - Number of file descriptors */
+    int           timeout,             /* I - Timeout in milliseconds (used) */
+    void          *context)            /* I - User data (unused) */
+{
+  (void)timeout;
+  (void)context;
+
+  return (poll(pollfds, num_pollfds, 2000));
+}
+
+
+/*
+ * 'http_resolve_cb()' - Build a device URI for the given service name.
+ */
+
+static void
+http_resolve_cb(
+    AvahiServiceResolver   *resolver,  /* I - Resolver (unused) */
+    AvahiIfIndex           interface,  /* I - Interface index (unused) */
+    AvahiProtocol          protocol,   /* I - Network protocol (unused) */
+    AvahiResolverEvent     event,      /* I - Event (found, etc.) */
+    const char             *name,      /* I - Service name */
+    const char             *type,      /* I - Registration type */
+    const char             *domain,    /* I - Domain (unused) */
+    const char             *hostTarget,        /* I - Hostname */
+    const AvahiAddress     *address,   /* I - Address (unused) */
+    uint16_t               port,       /* I - Port number */
+    AvahiStringList        *txt,       /* I - TXT record */
+    AvahiLookupResultFlags flags,      /* I - Lookup flags (unused) */
+    void                   *context)   /* I - Pointer to URI buffer */
+{
+  _http_uribuf_t       *uribuf = (_http_uribuf_t *)context;
+                                       /* URI buffer */
+  const char           *scheme,        /* URI scheme */
+                       *hostptr,       /* Pointer into hostTarget */
+                       *reskey,        /* "rp" or "rfo" */
+                       *resdefault;    /* Default path */
+  char                 resource[257],  /* Remote path */
+                       fqdn[256];      /* FQDN of the .local name */
+  AvahiStringList      *pair;          /* Current TXT record key/value pair */
+  char                 *value;         /* Value for "rp" key */
+  size_t               valueLen = 0;   /* Length of "rp" key */
+
+
+  DEBUG_printf(("7http_resolve_cb(resolver=%p, "
+               "interface=%d, protocol=%d, event=%d, name=\"%s\", "
+               "type=\"%s\", domain=\"%s\", hostTarget=\"%s\", address=%p, "
+               "port=%d, txt=%p, flags=%d, context=%p)",
+               resolver, interface, protocol, event, name, type, domain,
+               hostTarget, address, port, txt, flags, context));
+
+  if (event != AVAHI_RESOLVER_FOUND)
+  {
+    avahi_service_resolver_free(resolver);
+    avahi_simple_poll_quit(uribuf->poll);
+    return;
+  }
+
+ /*
+  * Figure out the scheme from the full name...
+  */
+
+  if (strstr(type, "_ipp."))
+    scheme = "ipp";
+  else if (strstr(type, "_printer."))
+    scheme = "lpd";
+  else if (strstr(type, "_pdl-datastream."))
+    scheme = "socket";
+  else
+    scheme = "riousbprint";
+
+  if (!strncmp(type, "_ipps.", 6) || !strncmp(type, "_ipp-tls.", 9))
+    scheme = "ipps";
+  else if (!strncmp(type, "_ipp.", 5) || !strncmp(type, "_fax-ipp.", 9))
+    scheme = "ipp";
+  else if (!strncmp(type, "_http.", 6))
+    scheme = "http";
+  else if (!strncmp(type, "_https.", 7))
+    scheme = "https";
+  else if (!strncmp(type, "_printer.", 9))
+    scheme = "lpd";
+  else if (!strncmp(type, "_pdl-datastream.", 16))
+    scheme = "socket";
+  else
+  {
+    avahi_service_resolver_free(resolver);
+    avahi_simple_poll_quit(uribuf->poll);
+    return;
+  }
+
+ /*
+  * Extract the remote resource key from the TXT record...
+  */
+
+  if ((uribuf->options & _HTTP_RESOLVE_FAXOUT) &&
+      (!strcmp(scheme, "ipp") || !strcmp(scheme, "ipps")))
+  {
+    reskey     = "rfo";
+    resdefault = "/ipp/faxout";
+  }
+  else
+  {
+    reskey     = "rp";
+    resdefault = "/";
+  }
+
+  if ((pair = avahi_string_list_find(txt, reskey)) != NULL)
+  {
+    avahi_string_list_get_pair(pair, NULL, &value, &valueLen);
+
+    if (value[0] == '/')
+    {
+     /*
+      * Value (incorrectly) has a leading slash already...
+      */
+
+      memcpy(resource, value, valueLen);
+      resource[valueLen] = '\0';
+    }
+    else
+    {
+     /*
+      * Convert to resource by concatenating with a leading "/"...
+      */
+
+      resource[0] = '/';
+      memcpy(resource + 1, value, valueLen);
+      resource[valueLen + 1] = '\0';
+    }
+  }
+  else
+  {
+   /*
+    * Use the default value...
+    */
+
+    strlcpy(resource, resdefault, sizeof(resource));
+  }
+
+ /*
+  * Lookup the FQDN if needed...
+  */
+
+  if ((uribuf->options & _HTTP_RESOLVE_FQDN) &&
+      (hostptr = hostTarget + strlen(hostTarget) - 6) > hostTarget &&
+      !_cups_strcasecmp(hostptr, ".local"))
+  {
+   /*
+    * OK, we got a .local name but the caller needs a real domain.  Start by
+    * getting the IP address of the .local name and then do reverse-lookups...
+    */
+
+    http_addrlist_t    *addrlist,      /* List of addresses */
+                       *addr;          /* Current address */
+
+    DEBUG_printf(("8http_resolve_cb: Looking up \"%s\".", hostTarget));
+
+    snprintf(fqdn, sizeof(fqdn), "%d", ntohs(port));
+    if ((addrlist = httpAddrGetList(hostTarget, AF_UNSPEC, fqdn)) != NULL)
+    {
+      for (addr = addrlist; addr; addr = addr->next)
+      {
+        int error = getnameinfo(&(addr->addr.addr),
+                               httpAddrLength(&(addr->addr)),
+                               fqdn, sizeof(fqdn), NULL, 0, NI_NAMEREQD);
+
+        if (!error)
+       {
+         DEBUG_printf(("8http_resolve_cb: Found \"%s\".", fqdn));
+
+         if ((hostptr = fqdn + strlen(fqdn) - 6) <= fqdn ||
+             _cups_strcasecmp(hostptr, ".local"))
+         {
+           hostTarget = fqdn;
+           break;
+         }
+       }
+#ifdef DEBUG
+       else
+         DEBUG_printf(("8http_resolve_cb: \"%s\" did not resolve: %d",
+                       httpAddrString(&(addr->addr), fqdn, sizeof(fqdn)),
+                       error));
+#endif /* DEBUG */
+      }
+    }
+  }
+
+ /*
+  * Assemble the final device URI using the resolved hostname...
+  */
+
+  httpAssembleURI(HTTP_URI_CODING_ALL, uribuf->buffer, uribuf->bufsize, scheme,
+                  NULL, hostTarget, port, resource);
+  DEBUG_printf(("8http_resolve_cb: Resolved URI is \"%s\".", uribuf->buffer));
+
+  avahi_simple_poll_quit(uribuf->poll);
+}
 #endif /* HAVE_DNSSD */
 
 
index b95baa9d06c4c0b998cf4a2950066336bb492b55..945404cdd1d08bf481ee9e7f7b58205307671fdd 100644 (file)
@@ -258,7 +258,7 @@ static BIO_METHOD   http_bio_methods =
  *
  * Use @code cupsArrayNew(NULL, NULL)@ to create a credentials array.
  *
- * @since CUPS 1.5/Mac OS X 10.7@
+ * @since CUPS 1.5/OS X 10.7@
  */
 
 int                                    /* O - 0 on success, -1 on error */
@@ -331,7 +331,7 @@ httpCheck(http_t *http)                     /* I - Connection to server */
 /*
  * 'httpClearCookie()' - Clear the cookie value(s).
  *
- * @since CUPS 1.1.19/Mac OS X 10.3@
+ * @since CUPS 1.1.19/OS X 10.3@
  */
 
 void
@@ -494,7 +494,7 @@ httpConnectEncrypt(
  * 'httpCopyCredentials()' - Copy the credentials associated with an encrypted
  *                          connection.
  *
- * @since CUPS 1.5/Mac OS X 10.7@
+ * @since CUPS 1.5/OS X 10.7@
  */
 
 int                                    /* O - Status of call (0 = success) */
@@ -835,7 +835,7 @@ httpFlush(http_t *http)                     /* I - Connection to server */
 /*
  * 'httpFlushWrite()' - Flush data in write buffer.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - Bytes written or -1 on error */
@@ -937,7 +937,7 @@ httpGet(http_t     *http,           /* I - Connection to server */
  * string to use with httpSetField() for the HTTP_FIELD_AUTHORIZATION
  * value.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 char *                                 /* O - Authorization string */
@@ -953,7 +953,7 @@ httpGetAuthString(http_t *http)             /* I - Connection to server */
 /*
  * 'httpGetBlocking()' - Get the blocking/non-block state of a connection.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 1 if blocking, 0 if non-blocking */
@@ -966,7 +966,7 @@ httpGetBlocking(http_t *http)               /* I - Connection to server */
 /*
  * 'httpGetCookie()' - Get any cookie data from the response.
  *
- * @since CUPS 1.1.19/Mac OS X 10.3@
+ * @since CUPS 1.1.19/OS X 10.3@
  */
 
 const char *                           /* O - Cookie data or NULL */
@@ -979,7 +979,7 @@ httpGetCookie(http_t *http)         /* I - HTTP connecion */
 /*
  * 'httpGetFd()' - Get the file descriptor associated with a connection.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - File descriptor or -1 if none */
@@ -1049,7 +1049,7 @@ httpGetLength(http_t *http)               /* I - Connection to server */
  * This function returns the complete content length, even for
  * content larger than 2^31 - 1.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 off_t                                  /* O - Content length */
@@ -1307,7 +1307,7 @@ httpGetState(http_t *http)                /* I - Connection to server */
 /*
  * 'httpGetStatus()' - Get the status of the last HTTP request.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 http_status_t                          /* O - HTTP status */
@@ -1336,7 +1336,7 @@ httpGetSubField(http_t       *http,       /* I - Connection to server */
 /*
  * 'httpGetSubField2()' - Get a sub-field value.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 char *                                 /* O - Value or NULL */
@@ -1877,7 +1877,7 @@ httpRead(http_t *http,                    /* I - Connection to server */
 /*
  * 'httpRead2()' - Read data from a HTTP connection.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ssize_t                                        /* O - Number of bytes read */
@@ -2435,7 +2435,7 @@ httpReconnect2(http_t *http,              /* I - Connection to server */
  * HTTP_FIELD_AUTHORIZATION prior to issuing a HTTP request using httpGet(),
  * httpHead(), httpOptions(), httpPost, or httpPut().
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 void
@@ -2492,7 +2492,7 @@ httpSetAuthString(http_t     *http,       /* I - Connection to server */
  * 'httpSetCredentials()' - Set the credentials associated with an encrypted
  *                         connection.
  *
- * @since CUPS 1.5/Mac OS X 10.7@
+ * @since CUPS 1.5/OS X 10.7@
  */
 
 int                                            /* O - Status of call (0 = success) */
@@ -2513,7 +2513,7 @@ httpSetCredentials(http_t *http,          /* I - Connection to server */
 /*
  * 'httpSetCookie()' - Set the cookie value(s).
  *
- * @since CUPS 1.1.19/Mac OS X 10.3@
+ * @since CUPS 1.1.19/OS X 10.3@
  */
 
 void
@@ -2538,7 +2538,7 @@ httpSetCookie(http_t     *http,           /* I - Connection */
  *
  * Currently only HTTP_CONTINUE is supported for the "expect" argument.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void
@@ -2623,7 +2623,7 @@ httpSetField(http_t       *http,  /* I - Connection to server */
 /*
  * 'httpSetLength()' - Set the content-length and content-encoding.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 void
@@ -2653,7 +2653,7 @@ httpSetLength(http_t *http,               /* I - Connection to server */
  * 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.
  *
- * @since CUPS 1.5/Mac OS X 10.7@
+ * @since CUPS 1.5/OS X 10.7@
  */
 
 void
@@ -3021,7 +3021,7 @@ _httpWait(http_t *http,                   /* I - Connection to server */
 /*
  * 'httpWait()' - Wait for data available on a connection.
  *
- * @since CUPS 1.1.19/Mac OS X 10.3@
+ * @since CUPS 1.1.19/OS X 10.3@
  */
 
 int                                    /* O - 1 if data is available, 0 otherwise */
@@ -3084,7 +3084,7 @@ httpWrite(http_t     *http,               /* I - Connection to server */
 /*
  * 'httpWrite2()' - Write data to a HTTP connection.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ssize_t                                        /* O - Number of bytes written */
index fc83209d9c106fd27bb367408d5c1728913f822e..f6ef45b996bb37ae48f8192249de87b428ab0fd1 100644 (file)
@@ -124,7 +124,7 @@ typedef enum http_auth_e            /**** HTTP authentication types ****/
   HTTP_AUTH_MD5_SESS,                  /* MD5-session authentication in use */
   HTTP_AUTH_MD5_INT,                   /* Digest authentication in use for body */
   HTTP_AUTH_MD5_SESS_INT,              /* MD5-session authentication in use for body */
-  HTTP_AUTH_NEGOTIATE                  /* GSSAPI authentication in use @since CUPS 1.3/Mac OS X 10.5@ */
+  HTTP_AUTH_NEGOTIATE                  /* GSSAPI authentication in use @since CUPS 1.3/OS X 10.5@ */
 } http_auth_t;
 
 typedef enum http_encoding_e           /**** HTTP transfer encoding values ****/
@@ -251,7 +251,7 @@ typedef enum http_status_e          /**** HTTP status codes ****/
   HTTP_NOT_SUPPORTED,                  /* HTTP version not supported */
 
   HTTP_AUTHORIZATION_CANCELED = 1000,  /* User canceled authorization @since CUPS 1.4@ */
-  HTTP_PKI_ERROR,                      /* Error negotiating a secure connection @since CUPS 1.5/Mac OS X 10.7@ */
+  HTTP_PKI_ERROR,                      /* Error negotiating a secure connection @since CUPS 1.5/OS X 10.7@ */
   HTTP_WEBIF_DISABLED                  /* Web interface is disabled @private@ */
 } http_status_t;
 
@@ -292,7 +292,7 @@ typedef enum http_version_e         /**** HTTP version numbers ****/
 typedef union _http_addr_u             /**** Socket address union, which
                                         **** makes using IPv6 and other
                                         **** address types easier and
-                                        **** more portable. @since CUPS 1.2/Mac OS X 10.5@
+                                        **** more portable. @since CUPS 1.2/OS X 10.5@
                                         ****/
 {
   struct sockaddr      addr;           /* Base structure for family value */
@@ -309,7 +309,7 @@ typedef union _http_addr_u          /**** Socket address union, which
 typedef struct http_addrlist_s         /**** Socket address list, which is
                                         **** used to enumerate all of the
                                         **** addresses that are associated
-                                        **** with a hostname. @since CUPS 1.2/Mac OS X 10.5@
+                                        **** with a hostname. @since CUPS 1.2/OS X 10.5@
                                         ****/
 {
   struct http_addrlist_s *next;                /* Pointer to next address in list */
@@ -318,14 +318,14 @@ typedef struct http_addrlist_s            /**** Socket address list, which is
 
 typedef struct _http_s http_t;         /**** HTTP connection type ****/
 
-typedef struct http_credential_s       /**** HTTP credential data @since CUPS 1.5/Mac OS X 10.7@ ****/
+typedef struct http_credential_s       /**** HTTP credential data @since CUPS 1.5/OS X 10.7@ ****/
 {
   void         *data;                  /* Pointer to credential data */
   size_t       datalen;                /* Credential length */
 } http_credential_t;
 
 typedef int (*http_timeout_cb_t)(http_t *http, void *user_data);
-                                       /**** HTTP timeout callback @since CUPS 1.5/Mac OS X 10.7@ ****/
+                                       /**** HTTP timeout callback @since CUPS 1.5/OS X 10.7@ ****/
 
 
 
@@ -395,7 +395,7 @@ extern void         httpSeparate2(const char *uri,
                                      char *host, int hostlen, int *port,
                                      char *resource, int resourcelen) _CUPS_DEPRECATED;
 
-/**** New in CUPS 1.2/Mac OS X 10.5 ****/
+/**** New in CUPS 1.2/OS X 10.5 ****/
 extern int             httpAddrAny(const http_addr_t *addr) _CUPS_API_1_2;
 extern http_addrlist_t *httpAddrConnect(http_addrlist_t *addrlist, int *sock) _CUPS_API_1_2;
 extern int             httpAddrEqual(const http_addr_t *addr1,
@@ -443,12 +443,12 @@ extern void               httpSetLength(http_t *http, size_t length) _CUPS_API_1_2;
 extern ssize_t         httpWrite2(http_t *http, const char *buffer,
                                   size_t length) _CUPS_API_1_2;
 
-/**** New in CUPS 1.3/Mac OS X 10.5 ****/
+/**** New in CUPS 1.3/OS X 10.5 ****/
 extern char            *httpGetAuthString(http_t *http) _CUPS_API_1_3;
 extern void            httpSetAuthString(http_t *http, const char *scheme,
                                          const char *data) _CUPS_API_1_3;
 
-/**** New in CUPS 1.5/Mac OS X 10.7 ****/
+/**** New in CUPS 1.5/OS X 10.7 ****/
 extern int             httpAddCredential(cups_array_t *credentials,
                                          const void *data, size_t datalen)
                                          _CUPS_API_1_5;
@@ -462,7 +462,7 @@ extern void         httpSetTimeout(http_t *http, double timeout,
                                       http_timeout_cb_t cb, void *user_data)
                                       _CUPS_API_1_5;
 
-/**** New in CUPS 1.6 ****/
+/**** New in CUPS 1.6/OS X 10.8 ****/
 extern http_addrlist_t *httpAddrConnect2(http_addrlist_t *addrlist, int *sock,
                                          int msec, int *cancel)
                                          _CUPS_API_1_6;
index c20c110439cfb97a63a2aa5371dc3baa2a80eb99..8ad921dd542a2dcb45892a383d80ae57f5d56663 100644 (file)
@@ -411,7 +411,7 @@ static size_t       ipp_col_string(ipp_t *col, char *buffer, size_t bufsize);
  * trailing nul. The buffer pointer can be NULL to get the required length,
  * just like (v)snprintf.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 size_t                                 /* O - Number of bytes less nul */
@@ -821,7 +821,7 @@ ippErrorString(ipp_status_t error)  /* I - Error status */
 /*
  * 'ippErrorValue()' - Return a status code for the given name.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ipp_status_t                           /* O - IPP status code */
@@ -859,7 +859,7 @@ ippErrorValue(const char *name)             /* I - Name */
 /*
  * 'ippOpString()' - Return a name for the given operation id.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 const char *                           /* O - Name */
@@ -894,7 +894,7 @@ ippOpString(ipp_op_t op)            /* I - Operation ID */
 /*
  * 'ippOpValue()' - Return an operation id for the given name.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ipp_op_t                               /* O - Operation ID */
@@ -970,7 +970,7 @@ ippSetPort(int p)                   /* I - Port number to use */
  *
  * The returned names are defined in RFC 2911 and 3382.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 const char *                           /* O - Tag name */
@@ -990,7 +990,7 @@ ippTagString(ipp_tag_t tag)         /* I - Tag value */
  *
  * The tag names are defined in RFC 2911 and 3382.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 ipp_tag_t                              /* O - Tag value */
index ab5303c72fb4984ddf41169c1b018d42ef9d29a4..dd3e4e0d462ca5e20dc909c18f0413fe60b51978 100644 (file)
@@ -308,7 +308,7 @@ ippAddBooleans(ipp_t      *ipp,             /* I - IPP message */
  * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription
  * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@).
  *
- * @since CUPS 1.1.19/Mac OS X 10.3@
+ * @since CUPS 1.1.19/OS X 10.3@
  */
 
 ipp_attribute_t *                      /* O - New attribute */
@@ -359,7 +359,7 @@ ippAddCollection(ipp_t      *ipp,   /* I - IPP message */
  * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription
  * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@).
  *
- * @since CUPS 1.1.19/Mac OS X 10.3@
+ * @since CUPS 1.1.19/OS X 10.3@
  */
 
 ipp_attribute_t *                      /* O - New attribute */
@@ -609,7 +609,7 @@ ippAddIntegers(ipp_t      *ipp,             /* I - IPP message */
  * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription
  * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@).
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ipp_attribute_t        *                       /* O - New attribute */
@@ -672,7 +672,7 @@ ippAddOctetString(ipp_t      *ipp,  /* I - IPP message */
  * (@code IPP_TAG_NOTSETTABLE@), delete-attribute (@code IPP_TAG_DELETEATTR@), and
  * admin-define (@code IPP_TAG_ADMINDEFINE@).
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 ipp_attribute_t        *                       /* O - New attribute */
@@ -1231,7 +1231,7 @@ ippAddStrings(
  * created - this should only be done as long as the original source IPP message will
  * not be freed for the life of the destination.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 
@@ -1482,7 +1482,7 @@ ippCopyAttribute(
  * 0 to skip it. The function may also choose to do a partial copy of the source attribute
  * itself.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O - 1 on success, 0 on error */
@@ -1610,7 +1610,7 @@ ippDelete(ipp_t *ipp)                     /* I - IPP message */
 /*
  * 'ippDeleteAttribute()' - Delete a single attribute in an IPP message.
  *
- * @since CUPS 1.1.19/Mac OS X 10.3@
+ * @since CUPS 1.1.19/OS X 10.3@
  */
 
 void
@@ -1685,7 +1685,7 @@ ippDeleteAttribute(
  *
  * Deleting all values in an attribute deletes the attribute.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O  - 1 on success, 0 on failure */
@@ -1812,7 +1812,7 @@ ippFindNextAttribute(ipp_t      *ipp,     /* I - IPP message */
 /*
  * 'ippFirstAttribute()' - Return the first attribute in the message.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 ipp_attribute_t        *                       /* O - First attribute or @code NULL@ if none */
@@ -1839,7 +1839,7 @@ ippFirstAttribute(ipp_t *ipp)             /* I - IPP message */
  * The @code element@ parameter specifies which value to get from 0 to
  * @link ippGetCount(attr)@ - 1.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O - Boolean value or -1 on error */
@@ -1868,7 +1868,7 @@ ippGetBoolean(ipp_attribute_t *attr,      /* I - IPP attribute */
  * The @code element@ parameter specifies which value to get from 0 to
  * @link ippGetCount(attr)@ - 1.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 ipp_t *                                        /* O - Collection value or @code NULL@ on error */
@@ -1895,7 +1895,7 @@ ippGetCollection(
 /*
  * 'ippGetCount()' - Get the number of values in an attribute.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O - Number of values or -1 on error */
@@ -1922,7 +1922,7 @@ ippGetCount(ipp_attribute_t *attr)        /* I - IPP attribute */
  * The @code element@ parameter specifies which value to get from 0 to
  * @link ippGetCount(attr)@ - 1.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 const ipp_uchar_t *                    /* O - Date value or @code NULL@ */
@@ -1948,7 +1948,7 @@ ippGetDate(ipp_attribute_t *attr, /* I - IPP attribute */
 /*
  * 'ippGetGroupTag()' - Get the group associated with an attribute.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 ipp_tag_t                              /* O - Group tag or @code IPP_TAG_ZERO@ on error */
@@ -1975,7 +1975,7 @@ ippGetGroupTag(ipp_attribute_t *attr)     /* I - IPP attribute */
  * The @code element@ parameter specifies which value to get from 0 to
  * @link ippGetCount(attr)@ - 1.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O - Value or -1 on error */
@@ -2001,7 +2001,7 @@ ippGetInteger(ipp_attribute_t *attr,      /* I - IPP attribute */
 /*
  * 'ippGetName()' - Get the attribute name.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 const char *                           /* O - Attribute name or @code NULL@ for separators */
@@ -2025,7 +2025,7 @@ ippGetName(ipp_attribute_t *attr) /* I - IPP attribute */
 /*
  * 'ippGetOperation()' - Get the operation ID in an IPP message.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 ipp_op_t                               /* O - Operation ID or -1 on error */
@@ -2052,7 +2052,7 @@ ippGetOperation(ipp_t *ipp)               /* I - IPP request message */
  * The @code element@ parameter specifies which value to get from 0 to
  * @link ippGetCount(attr)@ - 1.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O - Lower value of range or -1 */
@@ -2087,7 +2087,7 @@ ippGetRange(ipp_attribute_t *attr,        /* I - IPP attribute */
 /*
  * 'ippGetRequestId()' - Get the request ID from an IPP message.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O - Request ID or -1 on error */
@@ -2114,7 +2114,7 @@ ippGetRequestId(ipp_t *ipp)               /* I - IPP message */
  * The @code element@ parameter specifies which value to get from 0 to
  * @link ippGetCount(attr)@ - 1.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O - Horizontal/cross feed resolution or -1 */
@@ -2149,7 +2149,7 @@ ippGetResolution(
 /*
  * 'ippGetState()' - Get the IPP message state.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 ipp_state_t                            /* O - IPP message state value */
@@ -2173,7 +2173,7 @@ ippGetState(ipp_t *ipp)                   /* I - IPP message */
 /*
  * 'ippGetStatusCode()' - Get the status code from an IPP response or event message.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 ipp_status_t                           /* O - Status code in IPP message */
@@ -2200,7 +2200,7 @@ ippGetStatusCode(ipp_t *ipp)              /* I - IPP response or event message */
  * The @code element@ parameter specifies which value to get from 0 to
  * @link ippGetCount(attr)@ - 1.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 const char *
@@ -2231,7 +2231,7 @@ ippGetString(ipp_attribute_t *attr,       /* I - IPP attribute */
 /*
  * 'ippGetValueTag()' - Get the value tag for an attribute.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 ipp_tag_t                              /* O - Value tag or @code IPP_TAG_ZERO@ on error */
@@ -2255,7 +2255,7 @@ ippGetValueTag(ipp_attribute_t *attr)     /* I - IPP attribute */
 /*
  * 'ippGetVersion()' - Get the major and minor version number from an IPP message.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O - Major version number or -1 on error */
@@ -2299,7 +2299,7 @@ ippLength(ipp_t *ipp)                     /* I - IPP message */
 /*
  * 'ippNextAttribute()' - Return the next attribute in the message.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 ipp_attribute_t *                      /* O - Next attribute or @code NULL@ if none */
@@ -2356,7 +2356,7 @@ ippNew(void)
  * attributes-natural-language attributes added. The
  * attributes-natural-language value is derived from the current locale.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ipp_t *                                        /* O - IPP request message */
@@ -2438,7 +2438,7 @@ ippRead(http_t *http,                     /* I - HTTP connection */
 /*
  * 'ippReadFile()' - Read data for an IPP message from a file.
  *
- * @since CUPS 1.1.19/Mac OS X 10.3@
+ * @since CUPS 1.1.19/OS X 10.3@
  */
 
 ipp_state_t                            /* O - Current state */
@@ -2454,7 +2454,7 @@ ippReadFile(int   fd,                     /* I - HTTP data */
 /*
  * 'ippReadIO()' - Read data for an IPP message.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ipp_state_t                            /* O - Current state */
@@ -3189,7 +3189,7 @@ ippReadIO(void       *src,                /* I - Data source */
  * The @code element@ parameter specifies which value to set from 0 to
  * @link ippGetCount(attr)@.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O  - 1 on success, 0 on failure */
@@ -3231,7 +3231,7 @@ ippSetBoolean(ipp_t           *ipp,       /* IO - IPP message */
  * The @code element@ parameter specifies which value to set from 0 to
  * @link ippGetCount(attr)@.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O  - 1 on success, 0 on failure */
@@ -3280,7 +3280,7 @@ ippSetCollection(
  * The @code element@ parameter specifies which value to set from 0 to
  * @link ippGetCount(attr)@.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O  - 1 on success, 0 on failure */
@@ -3325,7 +3325,7 @@ ippSetDate(ipp_t             *ipp,        /* IO - IPP message */
  * (@code IPP_TAG_OPERATION@), printer (@code IPP_TAG_PRINTER@), subscription
  * (@code IPP_TAG_SUBSCRIPTION@), or unsupported (@code IPP_TAG_UNSUPPORTED_GROUP@).
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O  - 1 on success, 0 on failure */
@@ -3363,7 +3363,7 @@ ippSetGroupTag(
  * The @code element@ parameter specifies which value to set from 0 to
  * @link ippGetCount(attr)@.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O  - 1 on success, 0 on failure */
@@ -3403,7 +3403,7 @@ ippSetInteger(ipp_t           *ipp,       /* IO - IPP message */
  *
  * The @code attr@ parameter may be modified as a result of setting the value.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O  - 1 on success, 0 on failure */
@@ -3443,7 +3443,7 @@ ippSetName(ipp_t           *ipp,  /* IO - IPP message */
  * The @code ipp@ parameter refers to an IPP message previously created using the
  * @link ippNew@ or @link ippNewRequest@ functions.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O - 1 on success, 0 on failure */
@@ -3478,7 +3478,7 @@ ippSetOperation(ipp_t    *ipp,            /* I - IPP request message */
  * The @code element@ parameter specifies which value to set from 0 to
  * @link ippGetCount(attr)@.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O  - 1 on success, 0 on failure */
@@ -3521,7 +3521,7 @@ ippSetRange(ipp_t           *ipp, /* IO - IPP message */
  *
  * The @code request_id@ parameter must be greater than 0.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O - 1 on success, 0 on failure */
@@ -3558,7 +3558,7 @@ ippSetRequestId(ipp_t *ipp,               /* I - IPP message */
  * The @code element@ parameter specifies which value to set from 0 to
  * @link ippGetCount(attr)@.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O  - 1 on success, 0 on failure */
@@ -3600,7 +3600,7 @@ ippSetResolution(
 /*
  * 'ippSetState()' - Set the current state of the IPP message.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O - 1 on success, 0 on failure */
@@ -3631,7 +3631,7 @@ ippSetState(ipp_t       *ipp,             /* I - IPP message */
  * The @code ipp@ parameter refers to an IPP message previously created using the
  * @link ippNew@ or @link ippNewRequest@ functions.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O - 1 on success, 0 on failure */
@@ -3666,7 +3666,7 @@ ippSetStatusCode(ipp_t        *ipp,       /* I - IPP response or event message */
  * The @code element@ parameter specifies which value to set from 0 to
  * @link ippGetCount(attr)@.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O  - 1 on success, 0 on failure */
@@ -3737,7 +3737,7 @@ ippSetString(ipp_t           *ipp,        /* IO - IPP message */
  * code in the "attributes-natural-language" attribute or, if not present, the language
  * code for the current locale.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O  - 1 on success, 0 on failure */
@@ -3894,7 +3894,7 @@ ippSetValueTag(
  *
  * The valid version numbers are currently 1.0, 1.1, 2.0, 2.1, and 2.2.
  *
- * @since CUPS 1.6@
+ * @since CUPS 1.6/OS X 10.8@
  */
 
 int                                    /* O - 1 on success, 0 on failure */
@@ -3988,7 +3988,7 @@ ippWrite(http_t *http,                    /* I - HTTP connection */
 /*
  * 'ippWriteFile()' - Write data for an IPP message to a file.
  *
- * @since CUPS 1.1.19/Mac OS X 10.3@
+ * @since CUPS 1.1.19/OS X 10.3@
  */
 
 ipp_state_t                            /* O - Current state */
@@ -4006,7 +4006,7 @@ ippWriteFile(int   fd,                    /* I - HTTP data */
 /*
  * 'ippWriteIO()' - Write data for an IPP message.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ipp_state_t                            /* O - Current state */
index d0556d363b115da7922ad18c58951bb5bf389e5b..2fb1995e3fdd3297bf708bc5271e3a5e41c79f50 100644 (file)
@@ -150,13 +150,13 @@ typedef enum ipp_op_e                     /**** IPP operations ****/
   IPP_SET_PRINTER_ATTRIBUTES,          /* Set printer attributes @private@ */
   IPP_SET_JOB_ATTRIBUTES,              /* Set job attributes */
   IPP_GET_PRINTER_SUPPORTED_VALUES,    /* Get supported attribute values */
-  IPP_CREATE_PRINTER_SUBSCRIPTION,     /* Create a printer subscription @since CUPS 1.2/Mac OS X 10.5@ */
-  IPP_CREATE_JOB_SUBSCRIPTION,         /* Create a job subscription @since CUPS 1.2/Mac OS X 10.5@ */
-  IPP_GET_SUBSCRIPTION_ATTRIBUTES,     /* Get subscription attributes @since CUPS 1.2/Mac OS X 10.5@ */
-  IPP_GET_SUBSCRIPTIONS,               /* Get list of subscriptions @since CUPS 1.2/Mac OS X 10.5@ */
-  IPP_RENEW_SUBSCRIPTION,              /* Renew a printer subscription @since CUPS 1.2/Mac OS X 10.5@ */
-  IPP_CANCEL_SUBSCRIPTION,             /* Cancel a subscription @since CUPS 1.2/Mac OS X 10.5@ */
-  IPP_GET_NOTIFICATIONS,               /* Get notification events @since CUPS 1.2/Mac OS X 10.5@ */
+  IPP_CREATE_PRINTER_SUBSCRIPTION,     /* Create a printer subscription @since CUPS 1.2/OS X 10.5@ */
+  IPP_CREATE_JOB_SUBSCRIPTION,         /* Create a job subscription @since CUPS 1.2/OS X 10.5@ */
+  IPP_GET_SUBSCRIPTION_ATTRIBUTES,     /* Get subscription attributes @since CUPS 1.2/OS X 10.5@ */
+  IPP_GET_SUBSCRIPTIONS,               /* Get list of subscriptions @since CUPS 1.2/OS X 10.5@ */
+  IPP_RENEW_SUBSCRIPTION,              /* Renew a printer subscription @since CUPS 1.2/OS X 10.5@ */
+  IPP_CANCEL_SUBSCRIPTION,             /* Cancel a subscription @since CUPS 1.2/OS X 10.5@ */
+  IPP_GET_NOTIFICATIONS,               /* Get notification events @since CUPS 1.2/OS X 10.5@ */
   IPP_SEND_NOTIFICATIONS,              /* Send notification events @private@ */
   IPP_GET_RESOURCE_ATTRIBUTES,         /* Get resource attributes @private@ */
   IPP_GET_RESOURCE_DATA,               /* Get resource data @private@ */
@@ -203,9 +203,9 @@ typedef enum ipp_op_e                       /**** IPP operations ****/
   CUPS_GET_DEVICES,                    /* Get a list of supported devices */
   CUPS_GET_PPDS,                       /* Get a list of supported drivers */
   CUPS_MOVE_JOB,                       /* Move a job to a different printer */
-  CUPS_AUTHENTICATE_JOB,               /* Authenticate a job @since CUPS 1.2/Mac OS X 10.5@ */
-  CUPS_GET_PPD,                                /* Get a PPD file @since CUPS 1.3/Mac OS X 10.5@ */
-  CUPS_GET_DOCUMENT = 0x4027           /* Get a document file @since CUPS 1.4/Mac OS X 10.6@ */
+  CUPS_AUTHENTICATE_JOB,               /* Authenticate a job @since CUPS 1.2/OS X 10.5@ */
+  CUPS_GET_PPD,                                /* Get a PPD file @since CUPS 1.3/OS X 10.5@ */
+  CUPS_GET_DOCUMENT = 0x4027           /* Get a document file @since CUPS 1.4/OS X 10.6@ */
 
   /* Legacy names for the add operations */
 #define CUPS_ADD_PRINTER       CUPS_ADD_MODIFY_PRINTER
@@ -305,8 +305,8 @@ typedef enum ipp_status_e           /**** IPP status codes ****/
   IPP_TOO_MANY_JOBS,                   /* server-error-too-many-jobs */
   IPP_TOO_MANY_DOCUMENTS,              /* server-error-too-many-documents */
 
-  IPP_AUTHENTICATION_CANCELED = 0x1000,        /* Authentication canceled by user @since CUPS 1.5/Mac OS X 10.7@ */
-  IPP_PKI_ERROR,                       /* Error negotiating a secure connection @since CUPS 1.5/Mac OS X 10.7@ */
+  IPP_AUTHENTICATION_CANCELED = 0x1000,        /* Authentication canceled by user @since CUPS 1.5/OS X 10.7@ */
+  IPP_PKI_ERROR,                       /* Error negotiating a secure connection @since CUPS 1.5/OS X 10.7@ */
   IPP_UPGRADE_REQUIRED                 /* TLS upgrade required */
 
   /* Legacy name for canceled status */
@@ -366,21 +366,22 @@ typedef struct _ipp_s ipp_t;              /**** IPP request/response data ****/
 typedef struct _ipp_attribute_s ipp_attribute_t;
                                        /**** IPP attribute ****/
 
-/**** New in CUPS 1.2 ****/
+/**** New in CUPS 1.2/OS X 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/Mac OS X 10.5@ ****/
+                                       /**** IPP IO Callback Function @since CUPS 1.2/OS X 10.5@ ****/
 
-/**** New in CUPS 1.6 ****/
+/**** New in CUPS 1.6/OS X 10.8 ****/
 typedef int (*ipp_copycb_t)(void *context, ipp_t *dst, ipp_attribute_t *attr);
 
 
 /*
- * The following structures are PRIVATE starting with CUPS 1.6.  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.
+ * The following structures are PRIVATE starting with CUPS 1.6/OS X 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.
  *
  * Define _IPP_PRIVATE_STRUCTURES to cause the private IPP structures to be
- * exposed in CUPS 1.6.
+ * exposed in CUPS 1.6.  This happens automatically on OS X when compiling for
+ * a deployment target of 10.7 or earlier.
  */
 
 #  if defined(_CUPS_SOURCE) || defined(_CUPS_IPP_PRIVATE_H_)
@@ -421,7 +422,7 @@ typedef union _ipp_request_u                /**** Request Header ****/
   }            status;
 
   /**** New in CUPS 1.1.19 ****/
-  struct                               /* Event Header @since CUPS 1.1.19/Mac OS X 10.3@ */
+  struct                               /* Event Header @since CUPS 1.1.19/OS X 10.3@ */
   {
     ipp_uchar_t        version[2];             /* Protocol version number */
     ipp_status_t status_code;          /* Status code */
@@ -465,7 +466,7 @@ typedef union _ipp_value_u          /**** Attribute Value ****/
   }            unknown;                /* Unknown attribute type */
 
 /**** New in CUPS 1.1.19 ****/
-  ipp_t                *collection;            /* Collection value @since CUPS 1.1.19/Mac OS X 10.3@ */
+  ipp_t                *collection;            /* Collection value @since CUPS 1.1.19/OS X 10.3@ */
 } _ipp_value_t;
 typedef _ipp_value_t ipp_value_t;      /**** Convenience typedef that will be removed @private@ ****/
 
@@ -489,10 +490,10 @@ struct _ipp_s                             /**** IPP Request/Response/Notification ****/
   ipp_tag_t            curtag;         /* Current attribute group tag */
 
 /**** New in CUPS 1.2 ****/
-  ipp_attribute_t      *prev;          /* Previous attribute (for read) @since CUPS 1.2/Mac OS X 10.5@ */
+  ipp_attribute_t      *prev;          /* Previous attribute (for read) @since CUPS 1.2/OS X 10.5@ */
 
 /**** New in CUPS 1.4.4 ****/
-  int                  use;            /* Use count @since CUPS 1.4.4/Mac OS X 10.6.?@ */
+  int                  use;            /* Use count @since CUPS 1.4.4/OS X 10.6.?@ */
 };
 #  endif /* _IPP_PRIVATE_STRUCTURES */
 
@@ -559,7 +560,7 @@ extern void         ippDeleteAttribute(ipp_t *ipp, ipp_attribute_t *attr) _CUPS_API_1_1
 extern ipp_state_t     ippReadFile(int fd, ipp_t *ipp) _CUPS_API_1_1_19;
 extern ipp_state_t     ippWriteFile(int fd, ipp_t *ipp) _CUPS_API_1_1_19;
 
-/**** New in CUPS 1.2/Mac OS X 10.5 ****/
+/**** New in CUPS 1.2/OS X 10.5 ****/
 extern ipp_attribute_t *ippAddOctetString(ipp_t *ipp, ipp_tag_t group,
                                           const char *name,
                                           const void *data, int datalen) _CUPS_API_1_2;
@@ -572,11 +573,11 @@ extern ipp_state_t        ippReadIO(void *src, ipp_iocb_t cb, int blocking,
 extern ipp_state_t     ippWriteIO(void *dst, ipp_iocb_t cb, int blocking,
                                   ipp_t *parent, ipp_t *ipp) _CUPS_API_1_2;
 
-/**** New in CUPS 1.4/Mac OS X 10.6 ****/
+/**** New in CUPS 1.4/OS X 10.6 ****/
 extern const char      *ippTagString(ipp_tag_t tag) _CUPS_API_1_4;
 extern ipp_tag_t       ippTagValue(const char *name) _CUPS_API_1_4;
 
-/**** New in CUPS 1.6 ****/
+/**** New in CUPS 1.6/OS X 10.8 ****/
 extern ipp_attribute_t *ippAddOutOfBand(ipp_t *ipp, ipp_tag_t group,
                                         ipp_tag_t value_tag, const char *name)
                                         _CUPS_API_1_6;
index 0dd682abb9be6d445cbcfb9045b803f4328f684b..7bb0fedd0816f3f8aab4eb5f9650299fb8220535 100644 (file)
@@ -61,7 +61,7 @@ static cups_lang_t    *ppd_ll_CC(char *ll_CC, int ll_CC_size);
  * descriptions, printer presets, and custom option parameters.  Each
  * localized string uses the UTF-8 character encoding.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 0 on success, -1 on error */
@@ -246,7 +246,7 @@ ppdLocalizeAttr(ppd_file_t *ppd,    /* I - PPD file */
  *
  * If no value of the requested scheme can be found, NULL is returned.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 const char *                           /* O - Value or NULL if not found */
@@ -332,7 +332,7 @@ ppdLocalizeIPPReason(
       else if (!strncmp(reason, "output-area-full", 16))
        message = _("The output bin is full.");
       else if (!strncmp(reason, "marker-supply-low", 17))
-       message = _("The printer is running low on ink.");              
+       message = _("The printer is running low on ink.");
       else if (!strncmp(reason, "marker-supply-empty", 19))
        message = _("The printer may be out of ink.");
       else if (!strncmp(reason, "marker-waste-almost-full", 24))
@@ -351,7 +351,7 @@ ppdLocalizeIPPReason(
        message = _("The developer unit will need to be replaced soon.");
       else if (!strncmp(reason, "developer-empty", 15))
        message = _("The developer unit needs to be replaced.");
-               
+
       if (message)
       {
         strlcpy(buffer, _cupsLangString(lang, message), bufsize);
@@ -499,7 +499,7 @@ ppdLocalizeIPPReason(
  * text from the attribute value. If no localized text for the requested
  * name can be found, @code NULL@ is returned.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 const char *                           /* O - Value or @code NULL@ if not found */
@@ -637,7 +637,7 @@ _ppdGetLanguages(ppd_file_t *ppd)   /* I - PPD file */
 /*
  * '_ppdHashName()' - Generate a hash value for a device or profile name.
  *
- * This function is primarily used on Mac OS X, but is generally accessible
+ * This function is primarily used on OS X, but is generally accessible
  * since cupstestppd needs to check for profile name collisions in PPD files...
  */
 
index 44fc54d6853e8b899688218e32b16b6e9ff714f0..dc2257f397f50b0780f019fb180b4cda57ad6878 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Option marking routines for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -575,7 +575,7 @@ ppdMarkOption(ppd_file_t *ppd,              /* I - PPD file record */
  *
  * Options are returned from all groups in ascending alphanumeric order.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ppd_option_t *                         /* O - First option or @code NULL@ */
@@ -593,7 +593,7 @@ ppdFirstOption(ppd_file_t *ppd)             /* I - PPD file */
  *
  * Options are returned from all groups in ascending alphanumeric order.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ppd_option_t *                         /* O - Next option or @code NULL@ */
index b514c7db363458fc19977c1bc2fe35123f9a78d5..9d520f17d3ee3f22cbb80e5059de1a9b1c323f8d 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Notification routines for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 2005-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -33,7 +33,7 @@
  *
  * The returned string must be freed by the caller using @code free@.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 char *                                 /* O - Subject string or @code NULL@ */
@@ -164,7 +164,7 @@ cupsNotifySubject(cups_lang_t *lang,        /* I - Language data */
  *
  * The returned string must be freed by the caller using @code free@.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 char *                                 /* O - Message text or @code NULL@ */
index e2b0c397d3f254585d3bd0b5205909f92bcd21a5..8efe0b49526cdaa2f600b4a4dc601648758952ab 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Option routines for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -438,7 +438,7 @@ cupsParseOptions(
 /*
  * 'cupsRemoveOption()' - Remove an option from an option array.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O  - New number of options */
index 8e79889ab773b04a666ca9b2d8695d67ce328978..fb5841ca5b1235ed8faf8d781c18c94ad1c214ed 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Page size functions for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -198,7 +198,7 @@ ppdPageSize(ppd_file_t *ppd,                /* I - PPD file record */
  * If the specified PPD file does not support custom page sizes, both
  * "minimum" and "maximum" are filled with zeroes.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 int                                    /* O - 1 if custom sizes are supported, 0 otherwise */
index 2c826ff1bae1e8d94234e1941400acf7ddbe20af..1ff51b2442d9b87a3f2b4293e8cc34c186a935de 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   PPD file routines for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -327,7 +327,7 @@ ppdClose(ppd_file_t *ppd)           /* I - PPD file record */
 /*
  * 'ppdErrorString()' - Returns the text assocated with a status.
  *
- * @since CUPS 1.1.19/Mac OS X 10.3@
+ * @since CUPS 1.1.19/OS X 10.3@
  */
 
 const char *                           /* O - Status string */
@@ -397,7 +397,7 @@ _ppdGetEncoding(const char *name)   /* I - LanguageEncoding string */
 /*
  * 'ppdLastError()' - Return the status from the last ppdOpen*().
  *
- * @since CUPS 1.1.19/Mac OS X 10.3@
+ * @since CUPS 1.1.19/OS X 10.3@
  */
 
 ppd_status_t                           /* O - Status code */
@@ -417,7 +417,7 @@ ppdLastError(int *line)                     /* O - Line number */
 /*
  * '_ppdOpen()' - Read a PPD file into memory.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ppd_file_t *                           /* O - PPD file record or @code NULL@ if the PPD file could not be opened. */
@@ -2106,7 +2106,7 @@ ppdOpen(FILE *fp)                 /* I - File to read from */
 /*
  * 'ppdOpen2()' - Read a PPD file into memory.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 ppd_file_t *                           /* O - PPD file record or @code NULL@ if the PPD file could not be opened. */
@@ -2231,7 +2231,7 @@ ppdOpenFile(const char *filename) /* I - File to read from */
 /*
  * 'ppdSetConformance()' - Set the conformance level for PPD files.
  *
- * @since CUPS 1.1.20/Mac OS X 10.4@
+ * @since CUPS 1.1.20/OS X 10.4@
  */
 
 void
@@ -3062,7 +3062,7 @@ ppd_read(cups_file_t    *fp,              /* I - File to read from */
     DEBUG_printf(("9ppd_read: LINE=\"%s\"", line->buffer));
 
    /*
-    * The dynamically created PPDs for older style Mac OS X
+    * The dynamically created PPDs for older style OS X
     * drivers include a large blob of data inserted as comments
     * at the end of the file.  As an optimization we can stop
     * reading the PPD when we get to the start of this data.
index 049340efc1d72df0e6b5c0c0d0bcd0d1f00306eb..3e281bd42247fb42862eb1f68a5d4e03a4d0f7f4 100644 (file)
@@ -58,10 +58,10 @@ extern "C" {
 #  ifndef _PPD_DEPRECATED
 #    if defined(__APPLE__)
 #      if defined(MAC_OS_X_VERSION_10_8) && MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_8
-         /* Building for 10.7 and earlier */
+         /* Building for OS X 10.7 and earlier */
 #        define _PPD_DEPRECATED
 #      elif !defined(MAC_OS_X_VERSION_10_8)
-        /* Building for 10.7 and earlier */
+        /* Building for OS X 10.7 and earlier */
 #        define _PPD_DEPRECATED
 #      else
 #        define _PPD_DEPRECATED _CUPS_DEPRECATED
@@ -119,7 +119,7 @@ typedef enum ppd_cs_e                       /**** Colorspaces ****/
   PPD_CS_N                             /* DeviceN colorspace */
 } ppd_cs_t;
 
-typedef enum ppd_status_e              /**** Status Codes @since CUPS 1.1.19/Mac OS X 10.3@ ****/
+typedef enum ppd_status_e              /**** Status Codes @since CUPS 1.1.19/OS X 10.3@ ****/
 {
   PPD_OK = 0,                          /* OK */
   PPD_FILE_OPEN_ERROR,                 /* Unable to open PPD file */
@@ -148,16 +148,16 @@ typedef enum ppd_status_e         /**** Status Codes @since CUPS 1.1.19/Mac OS X 10.3@
   PPD_MAX_STATUS                       /* @private@ */
 } ppd_status_t;
 
-enum ppd_conform_e                     /**** Conformance Levels @since CUPS 1.1.19/Mac OS X 10.3@ ****/
+enum ppd_conform_e                     /**** Conformance Levels @since CUPS 1.1.19/OS X 10.3@ ****/
 {
   PPD_CONFORM_RELAXED,                 /* Relax whitespace and control char */
   PPD_CONFORM_STRICT                   /* Require strict conformance */
 };
 
 typedef enum ppd_conform_e ppd_conform_t;
-                                       /**** Conformance Levels @since CUPS 1.1.19/Mac OS X 10.3@ ****/
+                                       /**** Conformance Levels @since CUPS 1.1.19/OS X 10.3@ ****/
 
-typedef struct ppd_attr_s              /**** PPD Attribute Structure @since CUPS 1.1.19/Mac OS X 10.3@ ****/
+typedef struct ppd_attr_s              /**** PPD Attribute Structure @since CUPS 1.1.19/OS X 10.3@ ****/
 {
   char         name[PPD_MAX_NAME];     /* Name of attribute (cupsXYZ) */
   char         spec[PPD_MAX_NAME];     /* Specifier string, if any */
@@ -198,7 +198,7 @@ typedef struct ppd_group_s          /**** Groups ****/
    ****/
   char         text[PPD_MAX_TEXT - PPD_MAX_NAME];
                                        /* Human-readable group name */
-  char         name[PPD_MAX_NAME];     /* Group name @since CUPS 1.1.18/Mac OS X 10.3@ */
+  char         name[PPD_MAX_NAME];     /* Group name @since CUPS 1.1.18/OS X 10.3@ */
   int          num_options;            /* Number of options */
   ppd_option_t *options;               /* Options */
   int          num_subgroups;          /* Number of sub-groups */
@@ -243,8 +243,8 @@ typedef struct ppd_profile_s                /**** sRGB Color Profiles ****/
   float                matrix[3][3];           /* Transform matrix */
 } ppd_profile_t;
 
-/**** New in CUPS 1.2/Mac OS X 10.5 ****/
-typedef enum ppd_cptype_e              /**** Custom Parameter Type @since CUPS 1.2/Mac OS X 10.5@ ****/
+/**** New in CUPS 1.2/OS X 10.5 ****/
+typedef enum ppd_cptype_e              /**** Custom Parameter Type @since CUPS 1.2/OS X 10.5@ ****/
 {
   PPD_CUSTOM_CURVE,                    /* Curve value for f(x) = x^value */
   PPD_CUSTOM_INT,                      /* Integer number value */
@@ -256,7 +256,7 @@ typedef enum ppd_cptype_e           /**** Custom Parameter Type @since CUPS 1.2/Mac OS X
   PPD_CUSTOM_STRING                    /* String of characters */
 } ppd_cptype_t;
 
-typedef union ppd_cplimit_u            /**** Custom Parameter Limit @since CUPS 1.2/Mac OS X 10.5@ ****/
+typedef union ppd_cplimit_u            /**** Custom Parameter Limit @since CUPS 1.2/OS X 10.5@ ****/
 {
   float                custom_curve;           /* Gamma value */
   int          custom_int;             /* Integer value */
@@ -268,7 +268,7 @@ typedef union ppd_cplimit_u         /**** Custom Parameter Limit @since CUPS 1.2/Mac OS
   int          custom_string;          /* String length */
 } ppd_cplimit_t;
 
-typedef union ppd_cpvalue_u            /**** Custom Parameter Value @since CUPS 1.2/Mac OS X 10.5@ ****/
+typedef union ppd_cpvalue_u            /**** Custom Parameter Value @since CUPS 1.2/OS X 10.5@ ****/
 {
   float                custom_curve;           /* Gamma value */
   int          custom_int;             /* Integer value */
@@ -280,7 +280,7 @@ typedef union ppd_cpvalue_u         /**** Custom Parameter Value @since CUPS 1.2/Mac OS
   char         *custom_string;         /* String value */
 } ppd_cpvalue_t;
 
-typedef struct ppd_cparam_s            /**** Custom Parameter @since CUPS 1.2/Mac OS X 10.5@ ****/
+typedef struct ppd_cparam_s            /**** Custom Parameter @since CUPS 1.2/OS X 10.5@ ****/
 {
   char         name[PPD_MAX_NAME];     /* Parameter name */
   char         text[PPD_MAX_TEXT];     /* Human-readable text */
@@ -291,7 +291,7 @@ typedef struct ppd_cparam_s         /**** Custom Parameter @since CUPS 1.2/Mac OS X 10.
   ppd_cpvalue_t        current;                /* Current value */
 } ppd_cparam_t;
 
-typedef struct ppd_coption_s           /**** Custom Option @since CUPS 1.2/Mac OS X 10.5@ ****/
+typedef struct ppd_coption_s           /**** Custom Option @since CUPS 1.2/OS X 10.5@ ****/
 {
   char         keyword[PPD_MAX_NAME];  /* Name of option that is being extended... */
   ppd_option_t *option;                /* Option that is being extended... */
@@ -300,7 +300,7 @@ typedef struct ppd_coption_s                /**** Custom Option @since CUPS 1.2/Mac OS X 10.5@
 } ppd_coption_t;
 
 typedef struct _ppd_cache_s _ppd_cache_t;
-                                       /**** PPD cache and mapping data @since CUPS 1.5/Mac OS X 10.7@ @private@ ****/
+                                       /**** PPD cache and mapping data @since CUPS 1.5/OS X 10.7@ @private@ ****/
 
 typedef struct ppd_file_s              /**** PPD File ****/
 {
@@ -348,25 +348,25 @@ typedef struct ppd_file_s         /**** PPD File ****/
   int          flip_duplex;            /* 1 = Flip page for back sides @deprecated@ */
 
   /**** New in CUPS 1.1.19 ****/
-  char         *protocols;             /* Protocols (BCP, TBCP) string @since CUPS 1.1.19/Mac OS X 10.3@ */
-  char         *pcfilename;            /* PCFileName string @since CUPS 1.1.19/Mac OS X 10.3@ */
-  int          num_attrs;              /* Number of attributes @since CUPS 1.1.19/Mac OS X 10.3@ @private@ */
-  int          cur_attr;               /* Current attribute @since CUPS 1.1.19/Mac OS X 10.3@ @private@ */
-  ppd_attr_t   **attrs;                /* Attributes @since CUPS 1.1.19/Mac OS X 10.3@ @private@ */
+  char         *protocols;             /* Protocols (BCP, TBCP) string @since CUPS 1.1.19/OS X 10.3@ */
+  char         *pcfilename;            /* PCFileName string @since CUPS 1.1.19/OS X 10.3@ */
+  int          num_attrs;              /* Number of attributes @since CUPS 1.1.19/OS X 10.3@ @private@ */
+  int          cur_attr;               /* Current attribute @since CUPS 1.1.19/OS X 10.3@ @private@ */
+  ppd_attr_t   **attrs;                /* Attributes @since CUPS 1.1.19/OS X 10.3@ @private@ */
 
-  /**** New in CUPS 1.2/Mac OS X 10.5 ****/
-  cups_array_t *sorted_attrs;          /* Attribute lookup array @since CUPS 1.2/Mac OS X 10.5@ @private@ */
-  cups_array_t *options;               /* Option lookup array @since CUPS 1.2/Mac OS X 10.5@ @private@ */
-  cups_array_t *coptions;              /* Custom options array @since CUPS 1.2/Mac OS X 10.5@ @private@ */
+  /**** New in CUPS 1.2/OS X 10.5 ****/
+  cups_array_t *sorted_attrs;          /* Attribute lookup array @since CUPS 1.2/OS X 10.5@ @private@ */
+  cups_array_t *options;               /* Option lookup array @since CUPS 1.2/OS X 10.5@ @private@ */
+  cups_array_t *coptions;              /* Custom options array @since CUPS 1.2/OS X 10.5@ @private@ */
 
-  /**** New in CUPS 1.3/Mac OS X 10.5 ****/
-  cups_array_t *marked;                /* Marked choices @since CUPS 1.3/Mac OS X 10.5@ @private@ */
+  /**** New in CUPS 1.3/OS X 10.5 ****/
+  cups_array_t *marked;                /* Marked choices @since CUPS 1.3/OS X 10.5@ @private@ */
 
-  /**** New in CUPS 1.4/Mac OS X 10.6 ****/
-  cups_array_t *cups_uiconstraints;    /* cupsUIConstraints @since CUPS 1.4/Mac OS X 10.6@ @private@ */
+  /**** New in CUPS 1.4/OS X 10.6 ****/
+  cups_array_t *cups_uiconstraints;    /* cupsUIConstraints @since CUPS 1.4/OS X 10.6@ @private@ */
 
   /**** New in CUPS 1.5 ****/
-  _ppd_cache_t *cache;                 /* PPD cache and mapping data @since CUPS 1.5/Mac OS X 10.7@ @private@ */
+  _ppd_cache_t *cache;                 /* PPD cache and mapping data @since CUPS 1.5/OS X 10.7@ @private@ */
 } ppd_file_t;
 
 
@@ -434,14 +434,14 @@ extern ppd_option_t       *ppdNextOption(ppd_file_t *ppd) _PPD_DEPRECATED;
 extern int             ppdLocalize(ppd_file_t *ppd) _PPD_DEPRECATED;
 extern ppd_file_t      *ppdOpen2(cups_file_t *fp) _PPD_DEPRECATED;
 
-/**** New in CUPS 1.3/Mac OS X 10.5 ****/
+/**** New in CUPS 1.3/OS X 10.5 ****/
 extern const char      *ppdLocalizeIPPReason(ppd_file_t *ppd,
                                              const char *reason,
                                              const char *scheme,
                                              char *buffer,
                                              size_t bufsize) _PPD_DEPRECATED;
 
-/**** New in CUPS 1.4/Mac OS X 10.6 ****/
+/**** New in CUPS 1.4/OS X 10.6 ****/
 extern int             cupsGetConflicts(ppd_file_t *ppd, const char *option,
                                         const char *choice,
                                         cups_option_t **options)
index 24528868cd5edcea8ae6a0ffc9724984a0bc56d2..9e811054ecaad384272bcf73a017389f821463ac 100644 (file)
@@ -204,6 +204,7 @@ static _pwg_media_t const cups_pwg_media[] =
   _PWG_MEDIA_MM("jpn_chou4_90x205mm", NULL, "EnvChou4", 90, 205),
   _PWG_MEDIA_MM("jpn_hagaki_100x148mm", NULL, "Postcard", 100, 148),
   _PWG_MEDIA_MM("jpn_you4_105x235mm", NULL, "EnvYou4", 105, 235),
+  _PWG_MEDIA_MM("jpn_you6_98x190mm", NULL, "EnvYou6", 98, 190),
   _PWG_MEDIA_MM("jpn_chou2_111.1x146mm", NULL, NULL, 111.1, 146),
   _PWG_MEDIA_MM("jpn_chou3_120x235mm", NULL, "EnvChou3", 120, 235),
   _PWG_MEDIA_MM("jpn_oufuku_148x200mm", NULL, "DoublePostcardRotated", 148, 200),
@@ -760,8 +761,11 @@ _pwgMediaForSize(int width,                /* I - Width in 2540ths */
                 int length)            /* I - Length in 2540ths */
 {
   int          i;                      /* Looping var */
-  _pwg_media_t *media;                 /* Current media */
-  int          dw, dl;                 /* Difference in width and length */
+  _pwg_media_t *media,                 /* Current media */
+               *best_media = NULL;     /* Best match */
+  int          dw, dl,                 /* Difference in width and length */
+               best_dw = 999,          /* Best difference in width and length */
+               best_dl = 999;
   _cups_globals_t *cg = _cupsGlobals();        /* Global data */
 
 
@@ -786,13 +790,25 @@ _pwgMediaForSize(int width,               /* I - Width in 2540ths */
     * is just about 176/2540ths...
     */
 
-    dw = media->width - width;
-    dl = media->length - length;
+    dw = abs(media->width - width);
+    dl = abs(media->length - length);
 
-    if (dw > -176 && dw < 176 && dl > -176 && dl < 176)
+    if (!dw && !dl)
       return (media);
+    else if (dw < 176 && dl < 176)
+    {
+      if (dw <= best_dw && dl <= best_dl)
+      {
+        best_media = media;
+        best_dw    = dw;
+        best_dl    = dl;
+      }
+    }
   }
 
+  if (best_media)
+    return (best_media);
+
  /*
   * Not a standard size; convert it to a PWG custom name of the form:
   *
index 169631e68363af6775aebf7cf4180c0d6962eea3..0e9118fcbc4d81938dab45e96c769a6b4512bc64 100644 (file)
@@ -36,7 +36,7 @@
 
 
 /*
- * min/max/abs macros...
+ * min/max macros...
  */
 
 #  ifndef max
@@ -45,9 +45,6 @@
 #  ifndef min
 #    define    min(a,b)        ((a) < (b) ? (a) : (b))
 #  endif /* !min */
-#  ifndef abs
-#    define    abs(a)          ((a) < 0 ? -(a) : (a))
-#  endif /* !abs */
 
 
 /*
index 1510df2d6eaab9263f4b0a5658845a048e9d3184..c83d0bf7bffdd775d78454b78e28377be3c2fd52 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Raster file definitions for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   This file is part of the CUPS Imaging library.
@@ -117,28 +117,28 @@ typedef enum cups_cspace_e                /**** cupsColorSpace attribute values ****/
   CUPS_CSPACE_GOLD = 13,               /* Gold foil @deprecated@ */
   CUPS_CSPACE_SILVER = 14,             /* Silver foil @deprecated@ */
 
-  CUPS_CSPACE_CIEXYZ = 15,             /* CIE XYZ @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_CIELab = 16,             /* CIE Lab @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_RGBW = 17,               /* Red, green, blue, white (DeviceRGB, sRGB by default) @since CUPS 1.2/Mac OS X 10.5@ */
+  CUPS_CSPACE_CIEXYZ = 15,             /* CIE XYZ @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_CIELab = 16,             /* CIE Lab @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_RGBW = 17,               /* Red, green, blue, white (DeviceRGB, sRGB by default) @since CUPS 1.2/OS X 10.5@ */
   CUPS_CSPACE_SW = 18,                 /* Luminance (gamma 2.2) @since CUPS 1.4.5@ */
   CUPS_CSPACE_SRGB = 19,               /* Red, green, blue (sRGB) @since CUPS 1.4.5@ */
   CUPS_CSPACE_ADOBERGB = 20,           /* Red, green, blue (Adobe RGB) @since CUPS 1.4.5@ */
 
-  CUPS_CSPACE_ICC1 = 32,               /* ICC-based, 1 color @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICC2 = 33,               /* ICC-based, 2 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICC3 = 34,               /* ICC-based, 3 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICC4 = 35,               /* ICC-based, 4 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICC5 = 36,               /* ICC-based, 5 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICC6 = 37,               /* ICC-based, 6 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICC7 = 38,               /* ICC-based, 7 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICC8 = 39,               /* ICC-based, 8 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICC9 = 40,               /* ICC-based, 9 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICCA = 41,               /* ICC-based, 10 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICCB = 42,               /* ICC-based, 11 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICCC = 43,               /* ICC-based, 12 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICCD = 44,               /* ICC-based, 13 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICCE = 45,               /* ICC-based, 14 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
-  CUPS_CSPACE_ICCF = 46,               /* ICC-based, 15 colors @since CUPS 1.1.19/Mac OS X 10.3@ */
+  CUPS_CSPACE_ICC1 = 32,               /* ICC-based, 1 color @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICC2 = 33,               /* ICC-based, 2 colors @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICC3 = 34,               /* ICC-based, 3 colors @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICC4 = 35,               /* ICC-based, 4 colors @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICC5 = 36,               /* ICC-based, 5 colors @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICC6 = 37,               /* ICC-based, 6 colors @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICC7 = 38,               /* ICC-based, 7 colors @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICC8 = 39,               /* ICC-based, 8 colors @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICC9 = 40,               /* ICC-based, 9 colors @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICCA = 41,               /* ICC-based, 10 colors @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICCB = 42,               /* ICC-based, 11 colors @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICCC = 43,               /* ICC-based, 12 colors @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICCD = 44,               /* ICC-based, 13 colors @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICCE = 45,               /* ICC-based, 14 colors @since CUPS 1.1.19/OS X 10.3@ */
+  CUPS_CSPACE_ICCF = 46,               /* ICC-based, 15 colors @since CUPS 1.1.19/OS X 10.3@ */
 
   CUPS_CSPACE_DEVICE1 = 48,            /* DeviceN, 1 color @since CUPS 1.4.5@ */
   CUPS_CSPACE_DEVICE2 = 49,            /* DeviceN, 2 colors @since CUPS 1.4.5@ */
@@ -186,8 +186,8 @@ enum cups_mode_e                    /**** cupsRasterOpen modes ****/
 {
   CUPS_RASTER_READ = 0,                        /* Open stream for reading */
   CUPS_RASTER_WRITE = 1,               /* Open stream for writing */
-  CUPS_RASTER_WRITE_COMPRESSED = 2,    /* Open stream for compressed writing @since CUPS 1.3/Mac OS X 10.5@ */
-  CUPS_RASTER_WRITE_PWG = 3            /* Open stream for compressed writing in PWG mode @since CUPS 1.5/Mac OS X 10.7@ */
+  CUPS_RASTER_WRITE_COMPRESSED = 2,    /* Open stream for compressed writing @since CUPS 1.3/OS X 10.5@ */
+  CUPS_RASTER_WRITE_PWG = 3            /* Open stream for compressed writing in PWG mode @since CUPS 1.5/OS X 10.7@ */
 };
 
 typedef enum cups_mode_e cups_mode_t;  /**** cupsRasterOpen modes ****/
@@ -266,7 +266,7 @@ typedef struct cups_page_header_s   /**** Version 1 page header @deprecated@ ****/
 } cups_page_header_t;
 
 /**** New in CUPS 1.2 ****/
-typedef struct cups_page_header2_s     /**** Version 2 page header @since CUPS 1.2/Mac OS X 10.5@ ****/
+typedef struct cups_page_header2_s     /**** Version 2 page header @since CUPS 1.2/OS X 10.5@ ****/
 {
   /**** Standard Page Device Dictionary String Values ****/
   char         MediaClass[64];         /* MediaClass string */
@@ -314,20 +314,20 @@ typedef struct cups_page_header2_s        /**** Version 2 page header @since CUPS 1.2/M
   unsigned     cupsRowStep;            /* Spacing between lines */
 
   /**** Version 2 Dictionary Values ****/
-  unsigned     cupsNumColors;          /* Number of color compoents @since CUPS 1.2/Mac OS X 10.5@ */
+  unsigned     cupsNumColors;          /* Number of color compoents @since CUPS 1.2/OS X 10.5@ */
   float                cupsBorderlessScalingFactor;
-                                       /* Scaling that was applied to page data @since CUPS 1.2/Mac OS X 10.5@ */
+                                       /* Scaling that was applied to page data @since CUPS 1.2/OS X 10.5@ */
   float                cupsPageSize[2];        /* Floating point PageSize (scaling *
-                                        * factor not applied) @since CUPS 1.2/Mac OS X 10.5@ */
+                                        * factor not applied) @since CUPS 1.2/OS X 10.5@ */
   float                cupsImagingBBox[4];     /* Floating point ImagingBoundingBox
                                         * (scaling factor not applied, left,
-                                        * bottom, right, top) @since CUPS 1.2/Mac OS X 10.5@ */
-  unsigned     cupsInteger[16];        /* User-defined integer values @since CUPS 1.2/Mac OS X 10.5@ */
-  float                cupsReal[16];           /* User-defined floating-point values @since CUPS 1.2/Mac OS X 10.5@ */
-  char         cupsString[16][64];     /* User-defined string values @since CUPS 1.2/Mac OS X 10.5@ */
-  char         cupsMarkerType[64];     /* Ink/toner type @since CUPS 1.2/Mac OS X 10.5@ */
-  char         cupsRenderingIntent[64];/* Color rendering intent @since CUPS 1.2/Mac OS X 10.5@ */
-  char         cupsPageSizeName[64];   /* PageSize name @since CUPS 1.2/Mac OS X 10.5@ */
+                                        * bottom, right, top) @since CUPS 1.2/OS X 10.5@ */
+  unsigned     cupsInteger[16];        /* User-defined integer values @since CUPS 1.2/OS X 10.5@ */
+  float                cupsReal[16];           /* User-defined floating-point values @since CUPS 1.2/OS X 10.5@ */
+  char         cupsString[16][64];     /* User-defined string values @since CUPS 1.2/OS X 10.5@ */
+  char         cupsMarkerType[64];     /* Ink/toner type @since CUPS 1.2/OS X 10.5@ */
+  char         cupsRenderingIntent[64];/* Color rendering intent @since CUPS 1.2/OS X 10.5@ */
+  char         cupsPageSizeName[64];   /* PageSize name @since CUPS 1.2/OS X 10.5@ */
 } cups_page_header2_t;
 
 typedef struct _cups_raster_s cups_raster_t;
index b71f7ffb06e6c731f405af27773a9ddc560490e3..34591e374d3e235ca34b3b667112cc0aff84c048 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   IPP utilities for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -112,7 +112,7 @@ cupsDoFileRequest(http_t     *http, /* I - Connection to server or @code CUPS_HT
  * If "outfile" is a valid file descriptor, cupsDoIORequest() copies
  * all of the data after the IPP response message to the file.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 ipp_t *                                        /* O - Response data */
@@ -335,7 +335,7 @@ cupsDoRequest(http_t     *http,             /* I - Connection to server or @code CUPS_HTTP_
  * additional data, use httpRead() after getting a successful response,
  * otherwise call httpFlush() to complete the response processing.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 ipp_t *                                        /* O - Response or @code NULL@ on HTTP error */
@@ -499,7 +499,7 @@ cupsLastError(void)
 /*
  * 'cupsLastErrorString()' - Return the last IPP status-message.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 const char *                           /* O - status-message text from last request */
@@ -545,7 +545,7 @@ _cupsNextDelay(int current,         /* I  - Current delay value or 0 */
  * This function is used after cupsGetResponse() to read the PPD or document
  * files for CUPS_GET_PPD and CUPS_GET_DOCUMENT requests, respectively.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 ssize_t                                        /* O - Bytes read, 0 on EOF, -1 on error */
@@ -592,7 +592,7 @@ cupsReadResponseData(
  * Unlike cupsDoFileRequest(), cupsDoIORequest(), and cupsDoRequest(), the
  * request is not freed.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 http_status_t                          /* O - Initial HTTP status */
@@ -884,7 +884,7 @@ cupsSendRequest(http_t     *http,   /* I - Connection to server or @code CUPS_HTTP
  * This function is used after @link cupsSendRequest@ to provide a PPD and
  * after @link cupsStartDocument@ to provide a document file.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 http_status_t                          /* O - @code HTTP_CONTINUE@ if OK or HTTP status on error */
index 40091deca1aacd722bdd8d21b1e6db1ac5f091b6..7bd626eaf40a925e4ba52c3f2a69e64c03a8daaa 100644 (file)
@@ -69,7 +69,7 @@
  * pointed to by the "data" parameter.  cupsSideChannelDoRequest() will
  * update the value to contain the number of data bytes in the buffer.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 cups_sc_status_t                       /* O  - Status of command */
@@ -108,7 +108,7 @@ cupsSideChannelDoRequest(
  * pointed to by the "data" parameter.  cupsSideChannelDoRequest() will
  * update the value to contain the number of data bytes in the buffer.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 int                                    /* O - 0 on success, -1 on error */
@@ -308,7 +308,7 @@ cupsSideChannelRead(
  * support SNMP queries.  @code CUPS_SC_STATUS_NO_RESPONSE@ is returned when
  * the printer does not respond to the SNMP query.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 cups_sc_status_t                       /* O  - Query status */
@@ -414,7 +414,7 @@ cupsSideChannelSNMPGet(
  * support SNMP queries.  @code CUPS_SC_STATUS_NO_RESPONSE@ is returned when
  * the printer does not respond to the first SNMP query.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 cups_sc_status_t                       /* O - Status of first query of @code CUPS_SC_STATUS_OK@ on success */
@@ -533,7 +533,7 @@ cupsSideChannelSNMPWalk(
  * This function is normally only called by backend programs to send
  * responses to a filter, driver, or port monitor program.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 int                                    /* O - 0 on success, -1 on error */
index ced5edd312e78e1aa7e45cf8e1f63c0e0459572b..5f97257e05de8fc055553607863ebe77a483c889 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Side-channel API definitions for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -61,9 +61,9 @@ enum cups_sc_command_e                        /**** Request command codes ****/
   CUPS_SC_CMD_GET_BIDI = 3,            /* Return bidirectional capabilities */
   CUPS_SC_CMD_GET_DEVICE_ID = 4,       /* Return the IEEE-1284 device ID */
   CUPS_SC_CMD_GET_STATE = 5,           /* Return the device state */
-  CUPS_SC_CMD_SNMP_GET = 6,            /* Query an SNMP OID @since CUPS 1.4/Mac OS X 10.6@ */
-  CUPS_SC_CMD_SNMP_GET_NEXT = 7,       /* Query the next SNMP OID @since CUPS 1.4/Mac OS X 10.6@ */
-  CUPS_SC_CMD_GET_CONNECTED = 8,       /* Return whether the backend is "connected" to the printer @since CUPS 1.5/Mac OS X 10.7@ */
+  CUPS_SC_CMD_SNMP_GET = 6,            /* Query an SNMP OID @since CUPS 1.4/OS X 10.6@ */
+  CUPS_SC_CMD_SNMP_GET_NEXT = 7,       /* Query the next SNMP OID @since CUPS 1.4/OS X 10.6@ */
+  CUPS_SC_CMD_GET_CONNECTED = 8,       /* Return whether the backend is "connected" to the printer @since CUPS 1.5/OS X 10.7@ */
   CUPS_SC_CMD_MAX                      /* End of valid values @private@ */
 };
 typedef enum cups_sc_command_e cups_sc_command_t;
index fbd5467ab6189ae904eda6d42ceb7e96f0c5c1fd..49f5b60fa64fc13e9232ebc52926cd1fe15c66c1 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Private SNMP definitions for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 2006-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -34,7 +34,7 @@
 #define CUPS_SNMP_MAX_COMMUNITY        512     /* Maximum size of community name */
 #define CUPS_SNMP_MAX_OID      128     /* Maximum number of OID numbers */
 #define CUPS_SNMP_MAX_PACKET   1472    /* Maximum size of SNMP packet */
-#define CUPS_SNMP_MAX_STRING   65536   /* Maximum size of string */
+#define CUPS_SNMP_MAX_STRING   1024    /* Maximum size of string */
 #define CUPS_SNMP_VERSION_1    0       /* SNMPv1 */
 
 
index 29b47d77eec9bf4e0b3e36e077c06787d159ecc5..33dd1d4ea6b9cdd57930d18f58aa17c596b1659a 100644 (file)
@@ -1085,7 +1085,7 @@ asn1_decode_snmp(unsigned char *buffer,   /* I - Buffer */
                    packet->object_value.string.num_bytes = length;
                    asn1_get_string(&bufptr, bufend, length,
                                    (char *)packet->object_value.string.bytes,
-                                   CUPS_SNMP_MAX_STRING);
+                                   sizeof(packet->object_value.string.bytes));
                    break;
 
                case CUPS_ASN1_OID :
index facd5242af274c93cb0d7ba9e08a8dee28580d4f..ac59d9f8c50ebb8fc8335315957b476c8ba7e4f7 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Temp file utilities for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -204,7 +204,7 @@ cupsTempFile(char *filename,                /* I - Pointer to buffer */
  * The temporary filename is returned in the filename buffer.
  * The temporary file is opened for writing.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 cups_file_t *                          /* O - CUPS file or @code NULL@ on error */
index 756baf0d862f8d4b2870f6bcc5c4d5a910a5739a..a352f9ffc9192b6c1ae1be3ecb1799be2483a3b7 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   PWG test program for CUPS.
  *
- *   Copyright 2009-2011 by Apple Inc.
+ *   Copyright 2009-2012 by Apple Inc.
  *
  *   These coded instructions, statements, and computer programs are the
  *   property of Apple Inc. and are protected by Federal copyright
@@ -260,6 +260,34 @@ main(int  argc,                            /* I - Number of command-line args */
   else
     puts("PASS");
 
+  fputs("_pwgMediaForSize(9842, 19050): ", stdout);
+  if ((pwgmedia = _pwgMediaForSize(9842, 19050)) == NULL)
+  {
+    puts("FAIL (not found)");
+    status ++;
+  }
+  else if (strcmp(pwgmedia->pwg, "na_monarch_3.875x7.5in"))
+  {
+    printf("FAIL (%s)\n", pwgmedia->pwg);
+    status ++;
+  }
+  else
+    printf("PASS (%s)\n", pwgmedia->pwg);
+
+  fputs("_pwgMediaForSize(9800, 19000): ", stdout);
+  if ((pwgmedia = _pwgMediaForSize(9800, 19000)) == NULL)
+  {
+    puts("FAIL (not found)");
+    status ++;
+  }
+  else if (strcmp(pwgmedia->pwg, "jpn_you6_98x190mm"))
+  {
+    printf("FAIL (%s)\n", pwgmedia->pwg);
+    status ++;
+  }
+  else
+    printf("PASS (%s)\n", pwgmedia->pwg);
+
   return (status);
 }
 
index 48f8a39a64517fef18f4dfba42dd2926375ab29b..b16eec187d10103855681fd3930b3a47b42a19ec 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Private threading definitions for CUPS.
  *
- *   Copyright 2009-2010 by Apple Inc.
+ *   Copyright 2009-2012 by Apple Inc.
  *
  *   These coded instructions, statements, and computer programs are the
  *   property of Apple Inc. and are protected by Federal copyright
@@ -49,7 +49,7 @@ typedef pthread_key_t _cups_threadkey_t;
 typedef void *(__stdcall *_cups_thread_func_t)(void *arg);
 typedef struct _cups_mutex_s
 {
-  int                  m_init;         /* Flag for on-demand initialization */         
+  int                  m_init;         /* Flag for on-demand initialization */
   CRITICAL_SECTION     m_criticalSection;
                                        /* Win32 Critical Section */
 } _cups_mutex_t;
@@ -62,6 +62,7 @@ typedef DWORD _cups_threadkey_t;
 #    define _cupsThreadSetData(k,p) TlsSetValue(k,p)
 
 #  else
+typedef void   *(*_cups_thread_func_t)(void *arg);
 typedef char   _cups_mutex_t;
 typedef char   _cups_rwlock_t;
 typedef void   *_cups_threadkey_t;
index 7574298fafb839cffd5d1f8719a40d9654387abd..da1882e9de063ebc5bc0bc1db7eab240830d3664 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Threading primitives for CUPS.
  *
- *   Copyright 2009-2010 by Apple Inc.
+ *   Copyright 2009-2012 by Apple Inc.
  *
  *   These coded instructions, statements, and computer programs are the
  *   property of Apple Inc. and are protected by Federal copyright
@@ -113,7 +113,7 @@ _cupsRWUnlock(_cups_rwlock_t *rwlock)       /* I - Reader/writer lock */
  * '_cupsThreadCreate()' - Create a thread.
  */
 
-int                                    /* O - 0 on failure, 1 on success */    
+int                                    /* O - 0 on failure, 1 on success */
 _cupsThreadCreate(
     _cups_thread_func_t func,          /* I - Entry point */
     void                *arg)          /* I - Entry point context */
@@ -223,7 +223,7 @@ _cupsRWUnlock(_cups_rwlock_t *rwlock)       /* I - Reader/writer lock */
  * '_cupsThreadCreate()' - Create a thread.
  */
 
-int                                    /* O - 0 on failure, 1 on success */    
+int                                    /* O - 0 on failure, 1 on success */
 _cupsThreadCreate(
     _cups_thread_func_t func,          /* I - Entry point */
     void                *arg)          /* I - Entry point context */
@@ -309,6 +309,25 @@ _cupsRWUnlock(_cups_rwlock_t *rwlock)      /* I - Reader/writer lock */
 {
   (void)rwlock;
 }
+
+
+/*
+ * '_cupsThreadCreate()' - Create a thread.
+ */
+
+int                                    /* O - 0 on failure, 1 on success */
+_cupsThreadCreate(
+    _cups_thread_func_t func,          /* I - Entry point */
+    void                *arg)          /* I - Entry point context */
+{
+  fputs("DEBUG: CUPS was compiled without threading support, no thread "
+        "created.\n", stderr);
+
+  (void)func;
+  (void)arg;
+
+  return (0);
+}
 #endif /* HAVE_PTHREAD_H */
 
 
index 0fcd86e57585601754b251d1de3c07900af3384c..7aee0007f91e853237c4e8183709e0cbaf72b8a1 100644 (file)
@@ -136,7 +136,7 @@ cupsGetPassword(const char *prompt) /* I - Prompt string */
  * the @link cupsSetPasswordCB@ or @link cupsSetPasswordCB2@ functions need to
  * do so in each thread for the same function to be used.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 const char *                           /* O - Password */
@@ -194,7 +194,7 @@ cupsServer(void)
  * in a program. Multi-threaded programs that override the callback need to do
  * so in each thread for the same callback to be used.
  *
- * @since CUPS 1.5/Mac OS X 10.7@
+ * @since CUPS 1.5/OS X 10.7@
  */
 
 void
@@ -218,7 +218,7 @@ cupsSetClientCertCB(
  * program. Multi-threaded programs that override the setting need to do so in
  * each thread for the same setting to be used.
  *
- * @since CUPS 1.5/Mac OS X 10.7@
+ * @since CUPS 1.5/OS X 10.7@
  */
 
 int                                    /* O - Status of call (0 = success) */
@@ -304,7 +304,7 @@ cupsSetPasswordCB(cups_password_cb_t cb)/* I - Callback function */
  * in a program. Multi-threaded programs that override the callback need to do
  * so in each thread for the same callback to be used.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 void
@@ -385,7 +385,7 @@ cupsSetServer(const char *server)   /* I - Server name */
  * in a program. Multi-threaded programs that override the callback need to do
  * so in each thread for the same callback to be used.
  *
- * @since CUPS 1.5/Mac OS X 10.7@
+ * @since CUPS 1.5/OS X 10.7@
  */
 
 void
@@ -874,7 +874,7 @@ cups_read_client_conf(
     }
 #ifndef __APPLE__
    /*
-    * The Server directive is not supported on Mac OS X due to app sandboxing
+    * The Server directive is not supported on OS X due to app sandboxing
     * restrictions, i.e. not all apps request network access.
     */
     else if (!cups_server && (!cg->server[0] || !cg->ipp_port) &&
index e6fb06d0a405f8fcf55d5dda49f13d70925fb5cd..4c5b4c43db4878c21a5f6ec8e7c9b5818c9c8745 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Printing utilities for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -106,7 +106,7 @@ cupsCancelJob(const char *name,             /* I - Name of printer or class */
  * Use the @link cupsLastError@ and @link cupsLastErrorString@ functions to get
  * the cause of any failure.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 ipp_status_t                           /* O - IPP status */
@@ -194,7 +194,7 @@ cupsCancelJob2(http_t     *http,    /* I - Connection to server or @code CUPS_HTTP_
  * print, use the @link cupsPrintFile2@ or @link cupsPrintFiles2@ function
  * instead.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 int                                    /* O - Job ID or 0 on error */
@@ -274,7 +274,7 @@ cupsCreateJob(
  *
  * The document must have been started using @link cupsStartDocument@.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 ipp_status_t                           /* O - Status of document submission */
@@ -443,7 +443,7 @@ cupsGetDefault(void)
  * functions to get the user-defined default printer, as this function does
  * not support the lpoptions-defined default printer.
  *
- * @since CUPS 1.1.21/Mac OS X 10.4@
+ * @since CUPS 1.1.21/OS X 10.4@
  */
 
 const char *                           /* O - Default printer or @code NULL@ */
@@ -534,7 +534,7 @@ cupsGetJobs(cups_job_t **jobs,              /* O - Job data */
  * pending, processing, or held and @code CUPS_WHICHJOBS_COMPLETED@ returns
  * jobs that are stopped, canceled, aborted, or completed.
  *
- * @since CUPS 1.1.21/Mac OS X 10.4@
+ * @since CUPS 1.1.21/OS X 10.4@
  */
 
 int                                    /* O - Number of jobs */
@@ -838,7 +838,7 @@ cupsGetPPD(const char *name)                /* I - Destination name */
  * each call to @link cupsGetPPD@ or @code cupsGetPPD2@.  The caller "owns" the
  * file that is created and must @code unlink@ the returned filename.
  *
- * @since CUPS 1.1.21/Mac OS X 10.4@
+ * @since CUPS 1.1.21/OS X 10.4@
  */
 
 const char *                           /* O - Filename for PPD file */
@@ -879,7 +879,7 @@ cupsGetPPD2(http_t     *http,               /* I - Connection to server or @code CUPS_HTTP_DE
  * For classes, @code cupsGetPPD3@ returns the PPD file for the first printer
  * in the class.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 http_status_t                          /* O  - HTTP status */
@@ -1275,7 +1275,7 @@ cupsGetPrinters(char ***printers) /* O - Printers */
  * overwritten on the next call to @link cupsGetPPD@, @link cupsGetPPD2@,
  * or @link cupsGetServerPPD@.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 char *                                 /* O - Name of PPD file or @code NULL@ on error */
@@ -1364,7 +1364,7 @@ cupsPrintFile(const char    *name,        /* I - Destination name */
  * 'cupsPrintFile2()' - Print a file to a printer or class on the specified
  *                      server.
  *
- * @since CUPS 1.1.21/Mac OS X 10.4@
+ * @since CUPS 1.1.21/OS X 10.4@
  */
 
 int                                    /* O - Job ID or 0 on error */
@@ -1416,7 +1416,7 @@ cupsPrintFiles(
  * 'cupsPrintFiles2()' - Print one or more files to a printer or class on the
  *                       specified server.
  *
- * @since CUPS 1.1.21/Mac OS X 10.4@
+ * @since CUPS 1.1.21/OS X 10.4@
  */
 
 int                                    /* O - Job ID or 0 on error */
@@ -1548,7 +1548,7 @@ cupsPrintFiles2(
  * @code CUPS_FORMAT_TEXT@ are provided for the "format" argument, although
  * any supported MIME type string can be supplied.
  *
- * @since CUPS 1.4/Mac OS X 10.6@
+ * @since CUPS 1.4/OS X 10.6@
  */
 
 http_status_t                          /* O - HTTP status of request */
index 2e6447af54670103598e2343a14f25264ecfe2b5..38bfddbebcbfbc8a63544954dc2949ee3ce33ed3 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   API versioning definitions for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *
  *   These coded instructions, statements, and computer programs are the
  *   property of Apple Inc. and are protected by Federal copyright
  * which add compiler-specific attributes that flag functions that are
  * deprecated or added in particular releases.
  *
- * On Mac OS X, the _CUPS_API_* constants are defined based on the values of
+ * On OS X, the _CUPS_API_* constants are defined based on the values of
  * the MAC_OS_X_VERSION_MIN_ALLOWED and MAC_OS_X_VERSION_MAX_ALLOWED constants
  * provided by the compiler.
- *
- *
  */
 
 #  if defined(__APPLE__) && !defined(_CUPS_SOURCE)
index 43b48c352d569c41df341641d0b0a1e78324cc4f..6f0be82e8716ff946c160b0ac3dbf4353757bf09 100644 (file)
 #media "w167h288/Shipping Address" 167 288
 #media "w162h540/Internet Postage 2-Part" 162 540
 #media "w162h504/Internet Postage 3-Part" 162 504
-#media "w41h248/File Folder" 41 248
+#media "w41h248/File Folder " 41 248
 #media "w41h144/Hanging Folder" 41 144
 #media "w153h198/3.5\" Disk" 153 198
 
index 0e4688474a7449bc3f28734ac855a96f086b8277..33c1e1d01333d934c19ec67e8653f477550e4c4a 100644 (file)
@@ -66,7 +66,7 @@ HELPFILES     =       \
                        help/man-cancel.html \
                        help/man-cups-config.html \
                        help/man-cups-lpd.html \
-                       help/man-cups-polld.html \
+                       help/man-cups-snmp.html \
                        help/man-cupsaddsmb.html \
                        help/man-cupsd.html \
                        help/man-cupsenable.html \
index 147251ebdc767c077c996cef3d80281861c2ea50..c5ab8f773be4e86811df16e62473e05d6329b9ae 100644 (file)
@@ -609,7 +609,7 @@ for (s = (char *)<a href='#cupsArrayFirst'>cupsArrayFirst</a>(array); s != NULL;
   puts(s);
 </pre>
 <h2 class="title"><a name="FUNCTIONS">Functions</a></h2>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayAdd">cupsArrayAdd</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayAdd">cupsArrayAdd</a></h3>
 <p class="description">Add an element to the array.</p>
 <p class="code">
 int cupsArrayAdd (<br>
@@ -631,7 +631,7 @@ appended at the end of the run of identical elements.  For unsorted arrays,
 the element is appended to the end of the array.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayClear">cupsArrayClear</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayClear">cupsArrayClear</a></h3>
 <p class="description">Clear the array.</p>
 <p class="code">
 void cupsArrayClear (<br>
@@ -648,7 +648,7 @@ The caller is responsible for freeing the memory used by the
 elements themselves.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayCount">cupsArrayCount</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayCount">cupsArrayCount</a></h3>
 <p class="description">Get the number of elements in the array.</p>
 <p class="code">
 int cupsArrayCount (<br>
@@ -661,7 +661,7 @@ int cupsArrayCount (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Number of elements</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayCurrent">cupsArrayCurrent</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayCurrent">cupsArrayCurrent</a></h3>
 <p class="description">Return the current element in the array.</p>
 <p class="code">
 void *cupsArrayCurrent (<br>
@@ -679,7 +679,7 @@ void *cupsArrayCurrent (<br>
 <a href="#cupsArrayFirst"><code>cupsArrayFirst</code></a>, or <a href="#cupsArrayIndex"><code>cupsArrayIndex</code></a>, or <a href="#cupsArrayLast"><code>cupsArrayLast</code></a>.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayDelete">cupsArrayDelete</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayDelete">cupsArrayDelete</a></h3>
 <p class="description">Free all memory used by the array.</p>
 <p class="code">
 void cupsArrayDelete (<br>
@@ -695,7 +695,7 @@ void cupsArrayDelete (<br>
 elements themselves.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayDup">cupsArrayDup</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayDup">cupsArrayDup</a></h3>
 <p class="description">Duplicate the array.</p>
 <p class="code">
 <a href="#cups_array_t">cups_array_t</a> *cupsArrayDup (<br>
@@ -708,7 +708,7 @@ elements themselves.
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Duplicate array</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayFind">cupsArrayFind</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayFind">cupsArrayFind</a></h3>
 <p class="description">Find an element in the array.</p>
 <p class="code">
 void *cupsArrayFind (<br>
@@ -724,7 +724,7 @@ void *cupsArrayFind (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Element found or <code>NULL</code></p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayFirst">cupsArrayFirst</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayFirst">cupsArrayFirst</a></h3>
 <p class="description">Get the first element in the array.</p>
 <p class="code">
 void *cupsArrayFirst (<br>
@@ -737,7 +737,7 @@ void *cupsArrayFirst (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">First element or <code>NULL</code> if the array is empty</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="cupsArrayGetIndex">cupsArrayGetIndex</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="cupsArrayGetIndex">cupsArrayGetIndex</a></h3>
 <p class="description">Get the index of the current element.</p>
 <p class="code">
 int cupsArrayGetIndex (<br>
@@ -755,7 +755,7 @@ int cupsArrayGetIndex (<br>
 <a href="#cupsArrayFirst"><code>cupsArrayFirst</code></a>, or <a href="#cupsArrayIndex"><code>cupsArrayIndex</code></a>, or <a href="#cupsArrayLast"><code>cupsArrayLast</code></a>.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="cupsArrayGetInsert">cupsArrayGetInsert</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="cupsArrayGetInsert">cupsArrayGetInsert</a></h3>
 <p class="description">Get the index of the last inserted element.</p>
 <p class="code">
 int cupsArrayGetInsert (<br>
@@ -768,7 +768,7 @@ int cupsArrayGetInsert (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Index of the last inserted element, starting at 0</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayIndex">cupsArrayIndex</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayIndex">cupsArrayIndex</a></h3>
 <p class="description">Get the N-th element in the array.</p>
 <p class="code">
 void *cupsArrayIndex (<br>
@@ -784,7 +784,7 @@ void *cupsArrayIndex (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">N-th element or <code>NULL</code></p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayInsert">cupsArrayInsert</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayInsert">cupsArrayInsert</a></h3>
 <p class="description">Insert an element in the array.</p>
 <p class="code">
 int cupsArrayInsert (<br>
@@ -806,7 +806,7 @@ inserted at the beginning of the run of identical elements.  For unsorted
 arrays, the element is inserted at the beginning of the array.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayLast">cupsArrayLast</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayLast">cupsArrayLast</a></h3>
 <p class="description">Get the last element in the array.</p>
 <p class="code">
 void *cupsArrayLast (<br>
@@ -819,7 +819,7 @@ void *cupsArrayLast (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Last element or <code>NULL</code> if the array is empty</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayNew">cupsArrayNew</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayNew">cupsArrayNew</a></h3>
 <p class="description">Create a new array.</p>
 <p class="code">
 <a href="#cups_array_t">cups_array_t</a> *cupsArrayNew (<br>
@@ -842,7 +842,7 @@ data pointer argument can safely be omitted when not required so functions
 like <code>strcmp</code> can be used for sorted string arrays.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="cupsArrayNew2">cupsArrayNew2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="cupsArrayNew2">cupsArrayNew2</a></h3>
 <p class="description">Create a new array with hash.</p>
 <p class="code">
 <a href="#cups_array_t">cups_array_t</a> *cupsArrayNew2 (<br>
@@ -874,7 +874,7 @@ The hash function (&quot;h&quot;) is used to implement cached lookups with the
 specified hash size (&quot;hsize&quot;).
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="cupsArrayNew3">cupsArrayNew3</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span><a name="cupsArrayNew3">cupsArrayNew3</a></h3>
 <p class="description">Create a new array with hash and/or free function.</p>
 <p class="code">
 <a href="#cups_array_t">cups_array_t</a> *cupsArrayNew3 (<br>
@@ -918,7 +918,7 @@ The free function (&quot;cf&quot;) is used to automatically free/release element
 removed or the array is deleted.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayNext">cupsArrayNext</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayNext">cupsArrayNext</a></h3>
 <p class="description">Get the next element in the array.</p>
 <p class="code">
 void *cupsArrayNext (<br>
@@ -939,7 +939,7 @@ The next element is undefined until you call <a href="#cupsArrayFind"><code>cups
 to set the current element.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayPrev">cupsArrayPrev</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayPrev">cupsArrayPrev</a></h3>
 <p class="description">Get the previous element in the array.</p>
 <p class="code">
 void *cupsArrayPrev (<br>
@@ -960,7 +960,7 @@ The previous element is undefined until you call <a href="#cupsArrayFind"><code>
 to set the current element.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayRemove">cupsArrayRemove</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayRemove">cupsArrayRemove</a></h3>
 <p class="description">Remove an element from the array.</p>
 <p class="code">
 int cupsArrayRemove (<br>
@@ -984,7 +984,7 @@ The caller is responsible for freeing the memory used by the
 removed element.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayRestore">cupsArrayRestore</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayRestore">cupsArrayRestore</a></h3>
 <p class="description">Reset the current element to the last <a href="#cupsArraySave"><code>cupsArraySave</code></a>.</p>
 <p class="code">
 void *cupsArrayRestore (<br>
@@ -997,7 +997,7 @@ void *cupsArrayRestore (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New current element</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArraySave">cupsArraySave</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArraySave">cupsArraySave</a></h3>
 <p class="description">Mark the current element for a later <a href="#cupsArrayRestore"><code>cupsArrayRestore</code></a>.</p>
 <p class="code">
 int cupsArraySave (<br>
@@ -1018,7 +1018,7 @@ to set the current element.<br>
 The save/restore stack is guaranteed to be at least 32 elements deep.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsArrayUserData">cupsArrayUserData</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsArrayUserData">cupsArrayUserData</a></h3>
 <p class="description">Return the user data for an array.</p>
 <p class="code">
 void *cupsArrayUserData (<br>
index bda8ad661ffdb4ad0c87a3422a970db0ba65be21..8555764f9b9f70baee84fac2b72f5467bf0e01bd 100644 (file)
@@ -1022,7 +1022,7 @@ int cupsAddOption (<br>
 <h4 class="discussion">Discussion</h4>
 <p class="discussion">New option arrays can be initialized simply by passing 0 for the
 &quot;num_options&quot; parameter.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsAdminCreateWindowsPPD">cupsAdminCreateWindowsPPD</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsAdminCreateWindowsPPD">cupsAdminCreateWindowsPPD</a></h3>
 <p class="description">Create the Windows PPD file for a printer.</p>
 <p class="code">
 char *cupsAdminCreateWindowsPPD (<br>
@@ -1044,7 +1044,7 @@ char *cupsAdminCreateWindowsPPD (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">PPD file or NULL</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsAdminExportSamba">cupsAdminExportSamba</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsAdminExportSamba">cupsAdminExportSamba</a></h3>
 <p class="description">Export a printer to Samba.</p>
 <p class="code">
 int cupsAdminExportSamba (<br>
@@ -1072,7 +1072,7 @@ int cupsAdminExportSamba (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">1 on success, 0 on failure</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="cupsAdminGetServerSettings">cupsAdminGetServerSettings</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="cupsAdminGetServerSettings">cupsAdminGetServerSettings</a></h3>
 <p class="description">Get settings from the server.</p>
 <p class="code">
 int cupsAdminGetServerSettings (<br>
@@ -1096,7 +1096,7 @@ int cupsAdminGetServerSettings (<br>
 you are done with them.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="cupsAdminSetServerSettings">cupsAdminSetServerSettings</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="cupsAdminSetServerSettings">cupsAdminSetServerSettings</a></h3>
 <p class="description">Set settings on the server.</p>
 <p class="code">
 int cupsAdminSetServerSettings (<br>
@@ -1137,7 +1137,7 @@ to cancel the current job on the named destination.<br>
 <br>
 Use the <a href="#cupsLastError"><code>cupsLastError</code></a> and <a href="#cupsLastErrorString"><code>cupsLastErrorString</code></a> functions to get
 the cause of any failure.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsCancelJob2">cupsCancelJob2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsCancelJob2">cupsCancelJob2</a></h3>
 <p class="description">Cancel or purge a print job.</p>
 <p class="code">
 ipp_status_t cupsCancelJob2 (<br>
@@ -1170,7 +1170,7 @@ Use the <a href="#cupsLastError"><code>cupsLastError</code></a> and <a href="#cu
 the cause of any failure.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="cupsConnectDest">cupsConnectDest</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cupsConnectDest">cupsConnectDest</a></h3>
 <p class="description">Connect to the server for a destination.</p>
 <p class="code">
 http_t *cupsConnectDest (<br>
@@ -1212,7 +1212,7 @@ to by &quot;cancel&quot; is non-zero, or the callback function (or block) return
 The caller is responsible for calling httpClose() on the returned object.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="cupsConnectDestBlock">cupsConnectDestBlock</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cupsConnectDestBlock">cupsConnectDestBlock</a></h3>
 <p class="description">Connect to the server for a destination.</p>
 <p class="code">
 http_t *cupsConnectDestBlock (<br>
@@ -1272,7 +1272,7 @@ copy) - for use with the cupsEnumDests* functions. The caller is responsible
 for calling cupsFreeDests() on the returned object(s).
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsCreateJob">cupsCreateJob</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsCreateJob">cupsCreateJob</a></h3>
 <p class="description">Create an empty job for streaming.</p>
 <p class="code">
 int cupsCreateJob (<br>
@@ -1321,7 +1321,7 @@ Note: The current encryption setting is tracked separately for each thread
 in a program. Multi-threaded programs that override the setting via the
 <a href="#cupsSetEncryption"><code>cupsSetEncryption</code></a> function need to do so in each thread for the same
 setting to be used.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="cupsEnumDests">cupsEnumDests</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cupsEnumDests">cupsEnumDests</a></h3>
 <p class="description">Enumerate available destinations with a callback function.</p>
 <p class="code">
 int cupsEnumDests (<br>
@@ -1363,7 +1363,7 @@ Enumeration happens on the current thread and does not return until all
 destinations have been enumerated or the callback function returns 0.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="cupsEnumDestsBlock">cupsEnumDestsBlock</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cupsEnumDestsBlock">cupsEnumDestsBlock</a></h3>
 <p class="description">Enumerate available destinations with a block.</p>
 <p class="code">
 int cupsEnumDestsBlock (<br>
@@ -1401,7 +1401,7 @@ Enumeration happens on the current thread and does not return until all
 destinations have been enumerated or the block returns 0.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsFinishDocument">cupsFinishDocument</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsFinishDocument">cupsFinishDocument</a></h3>
 <p class="description">Finish sending a document.</p>
 <p class="code">
 ipp_status_t cupsFinishDocument (<br>
@@ -1493,7 +1493,7 @@ variables are not set, the server default destination is returned.
 Applications should use the <a href="#cupsGetDests"><code>cupsGetDests</code></a> and <a href="#cupsGetDest"><code>cupsGetDest</code></a>
 functions to get the user-defined default printer, as this function does
 not support the lpoptions-defined default printer.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/Mac OS X 10.4&nbsp;</span><a name="cupsGetDefault2">cupsGetDefault2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/OS X 10.4&nbsp;</span><a name="cupsGetDefault2">cupsGetDefault2</a></h3>
 <p class="description">Get the default printer or class for the specified server.</p>
 <p class="code">
 const char *cupsGetDefault2 (<br>
@@ -1564,7 +1564,7 @@ marker-types, and printer-commands attributes as well.<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">&nbsp;CUPS 1.1.21/Mac OS X 10.4&nbsp;</span><a name="cupsGetDests2">cupsGetDests2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/OS X 10.4&nbsp;</span><a name="cupsGetDests2">cupsGetDests2</a></h3>
 <p class="description">Get the list of destinations from the specified server.</p>
 <p class="code">
 int cupsGetDests2 (<br>
@@ -1620,7 +1620,7 @@ int cupsGetJobs (<br>
 of state, while <code>CUPS_WHICHJOBS_ACTIVE</code> returns jobs that are
 pending, processing, or held and <code>CUPS_WHICHJOBS_COMPLETED</code> returns
 jobs that are stopped, canceled, aborted, or completed.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/Mac OS X 10.4&nbsp;</span><a name="cupsGetJobs2">cupsGetJobs2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/OS X 10.4&nbsp;</span><a name="cupsGetJobs2">cupsGetJobs2</a></h3>
 <p class="description">Get the jobs from the specified server.</p>
 <p class="code">
 int cupsGetJobs2 (<br>
@@ -1652,7 +1652,7 @@ pending, processing, or held and <code>CUPS_WHICHJOBS_COMPLETED</code> returns
 jobs that are stopped, canceled, aborted, or completed.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsGetNamedDest">cupsGetNamedDest</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="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>
@@ -1727,7 +1727,7 @@ in the class.<br>
 The returned filename is stored in a static buffer and is overwritten with
 each call to <code>cupsGetPPD</code> or <a href="#cupsGetPPD2"><code>cupsGetPPD2</code></a>.  The caller &quot;owns&quot; the
 file that is created and must <code>unlink</code> the returned filename.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/Mac OS X 10.4&nbsp;</span><a name="cupsGetPPD2">cupsGetPPD2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/OS X 10.4&nbsp;</span><a name="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>
@@ -1752,7 +1752,7 @@ each call to <a href="#cupsGetPPD"><code>cupsGetPPD</code></a> or <code>cupsGetP
 file that is created and must <code>unlink</code> the returned filename.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsGetPPD3">cupsGetPPD3</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsGetPPD3">cupsGetPPD3</a></h3>
 <p class="description">Get the PPD file for a printer on the specified
 server if it has changed.</p>
 <p class="code">
@@ -1817,7 +1817,7 @@ 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.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsGetPassword2">cupsGetPassword2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsGetPassword2">cupsGetPassword2</a></h3>
 <p class="description">Get a password from the user using the advanced
 password callback.</p>
 <p class="code">
@@ -1867,7 +1867,7 @@ int cupsGetPrinters (<br>
 <p class="discussion">This function is deprecated - use <a href="#cupsGetDests"><code>cupsGetDests</code></a> instead.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="cupsGetServerPPD">cupsGetServerPPD</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="cupsGetServerPPD">cupsGetServerPPD</a></h3>
 <p class="description">Get an available PPD file from the server.</p>
 <p class="code">
 char *cupsGetServerPPD (<br>
@@ -1944,7 +1944,7 @@ cups_lang_t *cupsLangGet (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Language data</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsNotifySubject">cupsNotifySubject</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsNotifySubject">cupsNotifySubject</a></h3>
 <p class="description">Return the subject for the given notification message.</p>
 <p class="code">
 char *cupsNotifySubject (<br>
@@ -1964,7 +1964,7 @@ char *cupsNotifySubject (<br>
 <p class="discussion">The returned string must be freed by the caller using <code>free</code>.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsNotifyText">cupsNotifyText</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsNotifyText">cupsNotifyText</a></h3>
 <p class="description">Return the text for the given notification message.</p>
 <p class="code">
 char *cupsNotifyText (<br>
@@ -2034,7 +2034,7 @@ int cupsPrintFile (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Job ID or 0 on error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/Mac OS X 10.4&nbsp;</span><a name="cupsPrintFile2">cupsPrintFile2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/OS X 10.4&nbsp;</span><a name="cupsPrintFile2">cupsPrintFile2</a></h3>
 <p class="description">Print a file to a printer or class on the specified
 server.</p>
 <p class="code">
@@ -2092,7 +2092,7 @@ int cupsPrintFiles (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Job ID or 0 on error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/Mac OS X 10.4&nbsp;</span><a name="cupsPrintFiles2">cupsPrintFiles2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/OS X 10.4&nbsp;</span><a name="cupsPrintFiles2">cupsPrintFiles2</a></h3>
 <p class="description">Print one or more files to a printer or class on the
 specified server.</p>
 <p class="code">
@@ -2124,7 +2124,7 @@ int cupsPrintFiles2 (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Job ID or 0 on error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="cupsRemoveDest">cupsRemoveDest</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="cupsRemoveDest">cupsRemoveDest</a></h3>
 <p class="description">Remove a destination from the destination list.</p>
 <p class="code">
 int cupsRemoveDest (<br>
@@ -2153,7 +2153,7 @@ queue, merely the lpoptions for that destination/instance.  Use the
 options for the user.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsRemoveOption">cupsRemoveOption</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsRemoveOption">cupsRemoveOption</a></h3>
 <p class="description">Remove an option from an option array.</p>
 <p class="code">
 int cupsRemoveOption (<br>
@@ -2191,7 +2191,7 @@ Note: The current server is tracked separately for each thread in a program.
 Multi-threaded programs that override the server via the
 <a href="#cupsSetServer"><code>cupsSetServer</code></a> function need to do so in each thread for the same
 server to be used.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="cupsSetClientCertCB">cupsSetClientCertCB</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span><a name="cupsSetClientCertCB">cupsSetClientCertCB</a></h3>
 <p class="description">Set the client certificate callback.</p>
 <p class="code">
 void cupsSetClientCertCB (<br>
@@ -2213,7 +2213,7 @@ 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"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="cupsSetCredentials">cupsSetCredentials</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span><a name="cupsSetCredentials">cupsSetCredentials</a></h3>
 <p class="description">Set the default credentials to be used for SSL/TLS
 connections.</p>
 <p class="code">
@@ -2233,7 +2233,7 @@ 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"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="cupsSetDefaultDest">cupsSetDefaultDest</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="cupsSetDefaultDest">cupsSetDefaultDest</a></h3>
 <p class="description">Set the default destination.</p>
 <p class="code">
 void cupsSetDefaultDest (<br>
@@ -2270,7 +2270,7 @@ void cupsSetDests (<br>
 <h4 class="discussion">Discussion</h4>
 <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>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/Mac OS X 10.4&nbsp;</span><a name="cupsSetDests2">cupsSetDests2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/OS X 10.4&nbsp;</span><a name="cupsSetDests2">cupsSetDests2</a></h3>
 <p class="description">Save the list of destinations for the specified server.</p>
 <p class="code">
 int cupsSetDests2 (<br>
@@ -2334,7 +2334,7 @@ by a program per thread.<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"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsSetPasswordCB2">cupsSetPasswordCB2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsSetPasswordCB2">cupsSetPasswordCB2</a></h3>
 <p class="description">Set the advanced password callback for CUPS.</p>
 <p class="code">
 void cupsSetPasswordCB2 (<br>
@@ -2380,7 +2380,7 @@ default server name and port.<br>
 Note: The current server is tracked separately for each thread in a program.
 Multi-threaded programs that override the server need to do so in each
 thread for the same server to be used.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="cupsSetServerCertCB">cupsSetServerCertCB</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span><a name="cupsSetServerCertCB">cupsSetServerCertCB</a></h3>
 <p class="description">Set the server certificate callback.</p>
 <p class="code">
 void cupsSetServerCertCB (<br>
@@ -2419,7 +2419,7 @@ void cupsSetUser (<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"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsStartDocument">cupsStartDocument</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsStartDocument">cupsStartDocument</a></h3>
 <p class="description">Add a document to a job created with cupsCreateJob().</p>
 <p class="code">
 http_status_t cupsStartDocument (<br>
@@ -2498,7 +2498,7 @@ This function is deprecated - use <a href="#cupsTempFd"><code>cupsTempFd</code><
 <a href="#cupsTempFile2"><code>cupsTempFile2</code></a> instead.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsTempFile2">cupsTempFile2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsTempFile2">cupsTempFile2</a></h3>
 <p class="description">Creates a temporary CUPS file.</p>
 <p class="code">
 cups_file_t *cupsTempFile2 (<br>
@@ -2531,19 +2531,19 @@ program. Multi-threaded programs that override the user name with the
 <a href="#cupsSetUser"><code>cupsSetUser</code></a> function need to do so in each thread for the same user
 name to be used.</p>
 <h2 class="title"><a name="TYPES">Data Types</a></h2>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="cups_client_cert_cb_t">cups_client_cert_cb_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span><a name="cups_client_cert_cb_t">cups_client_cert_cb_t</a></h3>
 <p class="description">Client credentials callback
 </p>
 <p class="code">
 typedef int (*cups_client_cert_cb_t)(http_t *http, void *tls, cups_array_t *distinguished_names, void *user_data);
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="cups_dest_block_t">cups_dest_block_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cups_dest_block_t">cups_dest_block_t</a></h3>
 <p class="description">Destination enumeration block
 </p>
 <p class="code">
 typedef int (*cups_dest_block_t(unsigned flags, <a href="#cups_dest_t">cups_dest_t</a> *dest);
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="cups_dest_cb_t">cups_dest_cb_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cups_dest_cb_t">cups_dest_cb_t</a></h3>
 <p class="description">Destination enumeration callback
 </p>
 <p class="code">
@@ -2554,13 +2554,13 @@ typedef int (*cups_dest_cb_t)(void *user_data, unsigned flags, <a href="#cups_de
 <p class="code">
 typedef struct <a href="#cups_dest_s">cups_dest_s</a> cups_dest_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cups_device_cb_t">cups_device_cb_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cups_device_cb_t">cups_device_cb_t</a></h3>
 <p class="description">Device callback
 </p>
 <p class="code">
 typedef void (*cups_device_cb_t)(const char *device_class, const char *device_id, const char *device_info, const char *device_make_and_model, const char *device_uri, const char *device_location, void *user_data);
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="cups_dinfo_t">cups_dinfo_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cups_dinfo_t">cups_dinfo_t</a></h3>
 <p class="description">Destination capability and status
 information </p>
 <p class="code">
@@ -2576,7 +2576,7 @@ typedef struct <a href="#cups_job_s">cups_job_s</a> cups_job_t;
 <p class="code">
 typedef struct <a href="#cups_option_s">cups_option_s</a> cups_option_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cups_password_cb2_t">cups_password_cb2_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cups_password_cb2_t">cups_password_cb2_t</a></h3>
 <p class="description">New password callback
 </p>
 <p class="code">
@@ -2592,13 +2592,13 @@ typedef const char *(*cups_password_cb_t)(const char *prompt);
 <p class="code">
 typedef unsigned cups_ptype_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="cups_server_cert_cb_t">cups_server_cert_cb_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span><a name="cups_server_cert_cb_t">cups_server_cert_cb_t</a></h3>
 <p class="description">Server credentials callback
 </p>
 <p class="code">
 typedef int (*cups_server_cert_cb_t)(http_t *http, void *tls, cups_array_t *certs, void *user_data);
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="cups_size_t">cups_size_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cups_size_t">cups_size_t</a></h3>
 <p class="description">Media Size </p>
 <p class="code">
 typedef struct <a href="#cups_size_s">cups_size_s</a> cups_size_t;
@@ -2676,7 +2676,7 @@ typedef struct <a href="#cups_size_s">cups_size_s</a> cups_size_t;
 <dt>value </dt>
 <dd class="description">Value of option</dd>
 </dl>
-<h3 class="struct"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="cups_size_s">cups_size_s</a></h3>
+<h3 class="struct"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="cups_size_s">cups_size_s</a></h3>
 <p class="description">Media Size </p>
 <p class="code">struct cups_size_s {<br>
 &nbsp;&nbsp;&nbsp;&nbsp;char media[128];<br>
@@ -2701,7 +2701,7 @@ locale ID.</p>
 constants</p>
 <h4 class="constants">Constants</h4>
 <dl>
-<dt>CUPS_PRINTER_AUTHENTICATED <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>CUPS_PRINTER_AUTHENTICATED <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Printer requires authentication
 </dd>
 <dt>CUPS_PRINTER_BIND </dt>
@@ -2714,7 +2714,7 @@ constants</p>
 <dd class="description">Can collage copies</dd>
 <dt>CUPS_PRINTER_COLOR </dt>
 <dd class="description">Can do color printing</dd>
-<dt>CUPS_PRINTER_COMMANDS <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>CUPS_PRINTER_COMMANDS <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Printer supports maintenance commands
 </dd>
 <dt>CUPS_PRINTER_COPIES </dt>
@@ -2723,7 +2723,7 @@ constants</p>
 <dd class="description">Can cover output</dd>
 <dt>CUPS_PRINTER_DEFAULT </dt>
 <dd class="description">Default printer on network</dd>
-<dt>CUPS_PRINTER_DELETE <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>CUPS_PRINTER_DELETE <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Delete printer
 </dd>
 <dt>CUPS_PRINTER_DUPLEX </dt>
@@ -2736,10 +2736,10 @@ constants</p>
 <dd class="description">Local printer or class</dd>
 <dt>CUPS_PRINTER_MEDIUM </dt>
 <dd class="description">Can do Tabloid/B/C/A3/A2</dd>
-<dt>CUPS_PRINTER_MFP <span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span></dt>
+<dt>CUPS_PRINTER_MFP <span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span></dt>
 <dd class="description">Printer with scanning capabilities
 </dd>
-<dt>CUPS_PRINTER_NOT_SHARED <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>CUPS_PRINTER_NOT_SHARED <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Printer is not shared
 </dd>
 <dt>CUPS_PRINTER_PUNCH </dt>
@@ -2748,7 +2748,7 @@ constants</p>
 <dd class="description">Printer is rejecting jobs</dd>
 <dt>CUPS_PRINTER_REMOTE </dt>
 <dd class="description">Remote printer or class</dd>
-<dt>CUPS_PRINTER_SCANNER <span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span></dt>
+<dt>CUPS_PRINTER_SCANNER <span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span></dt>
 <dd class="description">Scanner-only device
 </dd>
 <dt>CUPS_PRINTER_SMALL </dt>
index cca4bd94e6b08068cd326761be95317bede39437..a25588686f594c9bf9ae9166b259b1f647774004 100644 (file)
@@ -455,7 +455,7 @@ details of directory access/listing and provide a convenient way
 to get both a list of files and the information (permissions,
 size, timestamp, etc.) for each of those files.</p>
 <h2 class="title"><a name="FUNCTIONS">Functions</a></h2>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsDirClose">cupsDirClose</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsDirClose">cupsDirClose</a></h3>
 <p class="description">Close a directory.</p>
 <p class="code">
 void cupsDirClose (<br>
@@ -466,7 +466,7 @@ void cupsDirClose (<br>
 <dt>dp</dt>
 <dd class="description">Directory pointer</dd>
 </dl>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsDirOpen">cupsDirOpen</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsDirOpen">cupsDirOpen</a></h3>
 <p class="description">Open a directory.</p>
 <p class="code">
 <a href="#cups_dir_t">cups_dir_t</a> *cupsDirOpen (<br>
@@ -479,7 +479,7 @@ void cupsDirClose (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Directory pointer or <code>NULL</code> if the directory could not be opened.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsDirRead">cupsDirRead</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsDirRead">cupsDirRead</a></h3>
 <p class="description">Read the next directory entry.</p>
 <p class="code">
 <a href="#cups_dentry_t">cups_dentry_t</a> *cupsDirRead (<br>
@@ -492,7 +492,7 @@ void cupsDirClose (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Directory entry or <code>NULL</code> when there are no more</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsDirRewind">cupsDirRewind</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsDirRewind">cupsDirRewind</a></h3>
 <p class="description">Rewind to the start of the directory.</p>
 <p class="code">
 void cupsDirRewind (<br>
@@ -503,7 +503,7 @@ void cupsDirRewind (<br>
 <dt>dp</dt>
 <dd class="description">Directory pointer</dd>
 </dl>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileClose">cupsFileClose</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileClose">cupsFileClose</a></h3>
 <p class="description">Close a CUPS file.</p>
 <p class="code">
 int cupsFileClose (<br>
@@ -516,7 +516,7 @@ int cupsFileClose (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">0 on success, -1 on error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileCompression">cupsFileCompression</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileCompression">cupsFileCompression</a></h3>
 <p class="description">Return whether a file is compressed.</p>
 <p class="code">
 int cupsFileCompression (<br>
@@ -529,7 +529,7 @@ int cupsFileCompression (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description"><code>CUPS_FILE_NONE</code> or <code>CUPS_FILE_GZIP</code></p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileEOF">cupsFileEOF</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileEOF">cupsFileEOF</a></h3>
 <p class="description">Return the end-of-file status.</p>
 <p class="code">
 int cupsFileEOF (<br>
@@ -542,7 +542,7 @@ int cupsFileEOF (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">1 on end of file, 0 otherwise</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileFind">cupsFileFind</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileFind">cupsFileFind</a></h3>
 <p class="description">Find a file using the specified path.</p>
 <p class="code">
 const char *cupsFileFind (<br>
@@ -575,7 +575,7 @@ the supplied paths, <code>NULL</code> is returned. A <code>NULL</code> path only
 matches the current directory.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileFlush">cupsFileFlush</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileFlush">cupsFileFlush</a></h3>
 <p class="description">Flush pending output.</p>
 <p class="code">
 int cupsFileFlush (<br>
@@ -588,7 +588,7 @@ int cupsFileFlush (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">0 on success, -1 on error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileGetChar">cupsFileGetChar</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileGetChar">cupsFileGetChar</a></h3>
 <p class="description">Get a single character from a file.</p>
 <p class="code">
 int cupsFileGetChar (<br>
@@ -601,7 +601,7 @@ int cupsFileGetChar (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Character or -1 on end of file</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileGetConf">cupsFileGetConf</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileGetConf">cupsFileGetConf</a></h3>
 <p class="description">Get a line from a configuration file.</p>
 <p class="code">
 char *cupsFileGetConf (<br>
@@ -626,7 +626,7 @@ char *cupsFileGetConf (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Line read or <code>NULL</code> on end of file or error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileGetLine">cupsFileGetLine</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileGetLine">cupsFileGetLine</a></h3>
 <p class="description">Get a CR and/or LF-terminated line that may
 contain binary data.</p>
 <p class="code">
@@ -653,7 +653,7 @@ nul-terminated, however you should use the returned length to determine
 the number of bytes on the line.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileGets">cupsFileGets</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileGets">cupsFileGets</a></h3>
 <p class="description">Get a CR and/or LF-terminated line.</p>
 <p class="code">
 char *cupsFileGets (<br>
@@ -672,7 +672,7 @@ char *cupsFileGets (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Line read or <code>NULL</code> on end of file or error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileLock">cupsFileLock</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileLock">cupsFileLock</a></h3>
 <p class="description">Temporarily lock access to a file.</p>
 <p class="code">
 int cupsFileLock (<br>
@@ -688,7 +688,7 @@ int cupsFileLock (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">0 on success, -1 on error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileNumber">cupsFileNumber</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileNumber">cupsFileNumber</a></h3>
 <p class="description">Return the file descriptor associated with a CUPS file.</p>
 <p class="code">
 int cupsFileNumber (<br>
@@ -701,7 +701,7 @@ int cupsFileNumber (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">File descriptor</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileOpen">cupsFileOpen</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileOpen">cupsFileOpen</a></h3>
 <p class="description">Open a CUPS file.</p>
 <p class="code">
 <a href="#cups_file_t">cups_file_t</a> *cupsFileOpen (<br>
@@ -732,7 +732,7 @@ connection as needed, generally preferring IPv6 connections when there is
 a choice.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileOpenFd">cupsFileOpenFd</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileOpenFd">cupsFileOpenFd</a></h3>
 <p class="description">Open a CUPS file using a file descriptor.</p>
 <p class="code">
 <a href="#cups_file_t">cups_file_t</a> *cupsFileOpenFd (<br>
@@ -757,7 +757,7 @@ supplied which enables Flate compression of the file.  Compression is
 not supported for the &quot;a&quot; (append) mode.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFilePeekChar">cupsFilePeekChar</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFilePeekChar">cupsFilePeekChar</a></h3>
 <p class="description">Peek at the next character from a file.</p>
 <p class="code">
 int cupsFilePeekChar (<br>
@@ -770,7 +770,7 @@ int cupsFilePeekChar (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Character or -1 on end of file</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFilePrintf">cupsFilePrintf</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFilePrintf">cupsFilePrintf</a></h3>
 <p class="description">Write a formatted string.</p>
 <p class="code">
 int cupsFilePrintf (<br>
@@ -789,7 +789,7 @@ int cupsFilePrintf (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Number of bytes written or -1 on error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFilePutChar">cupsFilePutChar</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFilePutChar">cupsFilePutChar</a></h3>
 <p class="description">Write a character.</p>
 <p class="code">
 int cupsFilePutChar (<br>
@@ -805,7 +805,7 @@ int cupsFilePutChar (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">0 on success, -1 on error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsFilePutConf">cupsFilePutConf</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsFilePutConf">cupsFilePutConf</a></h3>
 <p class="description">Write a configuration line.</p>
 <p class="code">
 ssize_t cupsFilePutConf (<br>
@@ -828,7 +828,7 @@ ssize_t cupsFilePutConf (<br>
 <p class="discussion">This function handles any comment escaping of the value.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFilePuts">cupsFilePuts</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFilePuts">cupsFilePuts</a></h3>
 <p class="description">Write a string.</p>
 <p class="code">
 int cupsFilePuts (<br>
@@ -848,7 +848,7 @@ int cupsFilePuts (<br>
 <p class="discussion">Like the <code>fputs</code> function, no newline is appended to the string.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileRead">cupsFileRead</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileRead">cupsFileRead</a></h3>
 <p class="description">Read from a file.</p>
 <p class="code">
 ssize_t cupsFileRead (<br>
@@ -867,7 +867,7 @@ ssize_t cupsFileRead (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Number of bytes read or -1 on error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileRewind">cupsFileRewind</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileRewind">cupsFileRewind</a></h3>
 <p class="description">Set the current file position to the beginning of the
 file.</p>
 <p class="code">
@@ -881,7 +881,7 @@ off_t cupsFileRewind (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New file position or -1 on error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileSeek">cupsFileSeek</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileSeek">cupsFileSeek</a></h3>
 <p class="description">Seek in a file.</p>
 <p class="code">
 off_t cupsFileSeek (<br>
@@ -897,25 +897,25 @@ off_t cupsFileSeek (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New file position or -1 on error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileStderr">cupsFileStderr</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileStderr">cupsFileStderr</a></h3>
 <p class="description">Return a CUPS file associated with stderr.</p>
 <p class="code">
 <a href="#cups_file_t">cups_file_t</a> *cupsFileStderr (void);</p>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">CUPS file</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileStdin">cupsFileStdin</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileStdin">cupsFileStdin</a></h3>
 <p class="description">Return a CUPS file associated with stdin.</p>
 <p class="code">
 <a href="#cups_file_t">cups_file_t</a> *cupsFileStdin (void);</p>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">CUPS file</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileStdout">cupsFileStdout</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileStdout">cupsFileStdout</a></h3>
 <p class="description">Return a CUPS file associated with stdout.</p>
 <p class="code">
 <a href="#cups_file_t">cups_file_t</a> *cupsFileStdout (void);</p>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">CUPS file</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileTell">cupsFileTell</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileTell">cupsFileTell</a></h3>
 <p class="description">Return the current file position.</p>
 <p class="code">
 off_t cupsFileTell (<br>
@@ -928,7 +928,7 @@ off_t cupsFileTell (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">File position</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileUnlock">cupsFileUnlock</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileUnlock">cupsFileUnlock</a></h3>
 <p class="description">Unlock access to a file.</p>
 <p class="code">
 int cupsFileUnlock (<br>
@@ -941,7 +941,7 @@ int cupsFileUnlock (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">0 on success, -1 on error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsFileWrite">cupsFileWrite</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsFileWrite">cupsFileWrite</a></h3>
 <p class="description">Write to a file.</p>
 <p class="code">
 ssize_t cupsFileWrite (<br>
index 4e18d2ef054ec63fe4e8818a8e4ceb536265ed23..38e6291d024292c4fbc0f87e6de320f1aa388b02 100644 (file)
@@ -430,7 +430,7 @@ div.contents ul.subcontents li {
 
   Filter and backend programming introduction for CUPS.
 
-  Copyright 2007-2011 by Apple Inc.
+  Copyright 2007-2012 by Apple Inc.
   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 
   These coded instructions, statements, and computer programs are the
@@ -508,7 +508,7 @@ directory to write to.</p>
 
 <p>In addition, some operating systems provide additional security mechanisms
 that further limit file system access, even for backends running as root. On
-Mac OS X, for example, no backend may write to a user's home directory.</p>
+OS X, for example, no backend may write to a user's home directory.</p>
 </blockquote>
 
 <h3><a name="SIGNALS">Canceled Jobs and Signal Handling</a></h3>
@@ -580,7 +580,7 @@ when running print filters and backends:</p>
 
        <dt>APPLE_LANGUAGE</dt>
        <dd>The Apple language identifier associated with the job
-       (Mac OS X only).</dd>
+       (OS X only).</dd>
 
        <dt>CHARSET</dt>
        <dd>The job character set, typically "utf-8".</dd>
@@ -901,7 +901,7 @@ sub-state and not an issue that applies when a job is not printing.</p>
 <blockquote><b>Note:</b>
 
 <p>"STATE:" messages often provide visible alerts to the user. For example,
-on Mac OS X setting a printer-state-reason value with an "-error" or
+on OS X setting a printer-state-reason value with an "-error" or
 "-warning" suffix will cause the printer's dock item to bounce if the
 corresponding reason is localized with a cupsIPPReason keyword in the
 printer's PPD file.</p>
@@ -1191,7 +1191,7 @@ void *my_data;
 <a href="#cupsSideChannelSNMPWalk">cupsSNMPSideChannelWalk</a>(".1.3.6.1.2.1.43", 5.0, my_callback, my_data);
 </pre>
 <h2 class="title"><a name="FUNCTIONS">Functions</a></h2>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsBackChannelRead">cupsBackChannelRead</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsBackChannelRead">cupsBackChannelRead</a></h3>
 <p class="description">Read data from the backchannel.</p>
 <p class="code">
 ssize_t cupsBackChannelRead (<br>
@@ -1216,7 +1216,7 @@ parameter controls how many seconds to wait for the data - use 0.0 to
 return immediately if there is no data, -1.0 to wait for data indefinitely.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsBackChannelWrite">cupsBackChannelWrite</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsBackChannelWrite">cupsBackChannelWrite</a></h3>
 <p class="description">Write data to the backchannel.</p>
 <p class="code">
 ssize_t cupsBackChannelWrite (<br>
@@ -1242,7 +1242,7 @@ controls how many seconds to wait for the data to be written - use
 indefinitely.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsBackendDeviceURI">cupsBackendDeviceURI</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsBackendDeviceURI">cupsBackendDeviceURI</a></h3>
 <p class="description">Get the device URI for a backend.</p>
 <p class="code">
 const char *cupsBackendDeviceURI (<br>
@@ -1262,7 +1262,7 @@ variable or the device URI passed in argv[0], whichever is found
 first.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsBackendReport">cupsBackendReport</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsBackendReport">cupsBackendReport</a></h3>
 <p class="description">Write a device line from a backend.</p>
 <p class="code">
 void cupsBackendReport (<br>
@@ -1294,7 +1294,7 @@ It handles quoting of special characters in the device-make-and-model,
 device-info, device-id, and device-location strings.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="cupsSideChannelDoRequest">cupsSideChannelDoRequest</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="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>
@@ -1328,7 +1328,7 @@ pointed to by the &quot;data&quot; parameter.  cupsSideChannelDoRequest() will
 update the value to contain the number of data bytes in the buffer.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="cupsSideChannelRead">cupsSideChannelRead</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="cupsSideChannelRead">cupsSideChannelRead</a></h3>
 <p class="description">Read a side-channel message.</p>
 <p class="code">
 int cupsSideChannelRead (<br>
@@ -1364,7 +1364,7 @@ pointed to by the &quot;data&quot; parameter.  cupsSideChannelDoRequest() will
 update the value to contain the number of data bytes in the buffer.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsSideChannelSNMPGet">cupsSideChannelSNMPGet</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="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>
@@ -1405,7 +1405,7 @@ support SNMP queries.  <code>CUPS_SC_STATUS_NO_RESPONSE</code> is returned when
 the printer does not respond to the SNMP query.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsSideChannelSNMPWalk">cupsSideChannelSNMPWalk</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="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>
@@ -1451,7 +1451,7 @@ support SNMP queries.  <code>CUPS_SC_STATUS_NO_RESPONSE</code> is returned when
 the printer does not respond to the first SNMP query.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="cupsSideChannelWrite">cupsSideChannelWrite</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="cupsSideChannelWrite">cupsSideChannelWrite</a></h3>
 <p class="description">Write a side-channel message.</p>
 <p class="code">
 int cupsSideChannelWrite (<br>
@@ -1556,15 +1556,15 @@ typedef void (*cups_sc_walk_func_t)(const char *oid, const char *data, int datal
 <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">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span></dt>
+<dt>CUPS_SC_CMD_GET_CONNECTED <span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span></dt>
 <dd class="description">Return whether the backend is &quot;connected&quot; to the printer </dd>
 <dt>CUPS_SC_CMD_GET_DEVICE_ID </dt>
 <dd class="description">Return the IEEE-1284 device ID</dd>
 <dt>CUPS_SC_CMD_GET_STATE </dt>
 <dd class="description">Return the device state</dd>
-<dt>CUPS_SC_CMD_SNMP_GET <span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span></dt>
+<dt>CUPS_SC_CMD_SNMP_GET <span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span></dt>
 <dd class="description">Query an SNMP OID </dd>
-<dt>CUPS_SC_CMD_SNMP_GET_NEXT <span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span></dt>
+<dt>CUPS_SC_CMD_SNMP_GET_NEXT <span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</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>
index 394be16cd779693aa833a4e6db8d6d04f53e2ca1..33e1672af6993be38f6c80cc71f0d1a685596c4e 100644 (file)
@@ -595,9 +595,9 @@ are server-oriented...">http_state_t</a></li>
        <li><a href="#http_uri_status_t" title="URI separation status ">http_uri_status_t</a></li>
        <li><a href="#http_version_t" title="HTTP version numbers">http_version_t</a></li>
        <li><a href="#ipp_attribute_t" title="IPP attribute">ipp_attribute_t</a></li>
-       <li><a href="#ipp_copycb_t" title="The following structures are PRIVATE starting with CUPS 1.6.  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.">ipp_copycb_t</a></li>
+       <li><a href="#ipp_copycb_t" title="The following structures are PRIVATE starting with CUPS 1.6/OS X 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.">ipp_copycb_t</a></li>
        <li><a href="#ipp_dstate_t" title="Document states">ipp_dstate_t</a></li>
        <li><a href="#ipp_finish_t" title="Finishings">ipp_finish_t</a></li>
        <li><a href="#ipp_iocb_t" title="IPP IO Callback Function ">ipp_iocb_t</a></li>
@@ -617,6 +617,7 @@ used to enumerate all of the
 addresses that are associated
 with a hostname. ">http_addrlist_s</a></li>
        <li><a href="#http_credential_s" title="HTTP credential data ">http_credential_s</a></li>
+       <li><a href="#pollfd" title="User data (unused)">pollfd</a></li>
 </ul></li>
 <li><a href="#ENUMERATIONS">Constants</a><ul class="code">
        <li><a href="#http_auth_e" title="HTTP authentication types">http_auth_e</a></li>
@@ -962,7 +963,7 @@ if (status == HTTP_CONTINUE)
 <a href='#ippDelete'>ippDelete</a>(request);
 </pre>
 <h2 class="title"><a name="FUNCTIONS">Functions</a></h2>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.20/Mac OS X 10.4&nbsp;</span><a name="cupsDoAuthentication">cupsDoAuthentication</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.20/OS X 10.4&nbsp;</span><a name="cupsDoAuthentication">cupsDoAuthentication</a></h3>
 <p class="description">Authenticate a request.</p>
 <p class="code">
 int cupsDoAuthentication (<br>
@@ -1012,7 +1013,7 @@ status, prior to resubmitting your request.
 <p class="discussion">This function sends the IPP request to the specified server, retrying
 and authenticating as necessary.  The request is freed with <a href="#ippDelete"><code>ippDelete</code></a>
 after receiving a valid IPP response.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="cupsDoIORequest">cupsDoIORequest</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="cupsDoIORequest">cupsDoIORequest</a></h3>
 <p class="description">Do an IPP request with file descriptors.</p>
 <p class="code">
 <a href="#ipp_t">ipp_t</a> *cupsDoIORequest (<br>
@@ -1093,7 +1094,7 @@ void cupsEncodeOptions (<br>
 <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"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsEncodeOptions2">cupsEncodeOptions2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsEncodeOptions2">cupsEncodeOptions2</a></h3>
 <p class="description">Encode printer options into IPP attributes for a group.</p>
 <p class="code">
 void cupsEncodeOptions2 (<br>
@@ -1119,7 +1120,7 @@ function multiple times for each group, or use cupsEncodeOptions()
 to add the standard groups.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsGetDevices">cupsGetDevices</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsGetDevices">cupsGetDevices</a></h3>
 <p class="description">Get available printer devices.</p>
 <p class="code">
 ipp_status_t cupsGetDevices (<br>
@@ -1155,7 +1156,7 @@ parameters provide comma-delimited lists of backends to include or omit from
 the request respectively.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.20/Mac OS X 10.4&nbsp;</span><a name="cupsGetFd">cupsGetFd</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.20/OS X 10.4&nbsp;</span><a name="cupsGetFd">cupsGetFd</a></h3>
 <p class="description">Get a file from the server.</p>
 <p class="code">
 <a href="#http_status_t">http_status_t</a> cupsGetFd (<br>
@@ -1178,7 +1179,7 @@ the request respectively.
 <p class="discussion">This function returns <code>HTTP_OK</code> when the file is successfully retrieved.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.20/Mac OS X 10.4&nbsp;</span><a name="cupsGetFile">cupsGetFile</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.20/OS X 10.4&nbsp;</span><a name="cupsGetFile">cupsGetFile</a></h3>
 <p class="description">Get a file from the server.</p>
 <p class="code">
 <a href="#http_status_t">http_status_t</a> cupsGetFile (<br>
@@ -1201,7 +1202,7 @@ the request respectively.
 <p class="discussion">This function returns <code>HTTP_OK</code> when the file is successfully retrieved.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsGetResponse">cupsGetResponse</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsGetResponse">cupsGetResponse</a></h3>
 <p class="description">Get a response to an IPP request.</p>
 <p class="code">
 <a href="#ipp_t">ipp_t</a> *cupsGetResponse (<br>
@@ -1230,13 +1231,13 @@ otherwise call httpFlush() to complete the response processing.
 ipp_status_t cupsLastError (void);</p>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">IPP status code from last request</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsLastErrorString">cupsLastErrorString</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsLastErrorString">cupsLastErrorString</a></h3>
 <p class="description">Return the last IPP status-message.</p>
 <p class="code">
 const char *cupsLastErrorString (void);</p>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">status-message text from last request</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.20/Mac OS X 10.4&nbsp;</span><a name="cupsPutFd">cupsPutFd</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.20/OS X 10.4&nbsp;</span><a name="cupsPutFd">cupsPutFd</a></h3>
 <p class="description">Put a file on the server.</p>
 <p class="code">
 <a href="#http_status_t">http_status_t</a> cupsPutFd (<br>
@@ -1260,7 +1261,7 @@ const char *cupsLastErrorString (void);</p>
 successfully.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.20/Mac OS X 10.4&nbsp;</span><a name="cupsPutFile">cupsPutFile</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.20/OS X 10.4&nbsp;</span><a name="cupsPutFile">cupsPutFile</a></h3>
 <p class="description">Put a file on the server.</p>
 <p class="code">
 <a href="#http_status_t">http_status_t</a> cupsPutFile (<br>
@@ -1284,7 +1285,7 @@ successfully.
 successfully.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsReadResponseData">cupsReadResponseData</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsReadResponseData">cupsReadResponseData</a></h3>
 <p class="description">Read additional data after the IPP response.</p>
 <p class="code">
 ssize_t cupsReadResponseData (<br>
@@ -1308,7 +1309,7 @@ ssize_t cupsReadResponseData (<br>
 files for CUPS_GET_PPD and CUPS_GET_DOCUMENT requests, respectively.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsSendRequest">cupsSendRequest</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsSendRequest">cupsSendRequest</a></h3>
 <p class="description">Send an IPP request.</p>
 <p class="code">
 <a href="#http_status_t">http_status_t</a> cupsSendRequest (<br>
@@ -1340,7 +1341,7 @@ Unlike cupsDoFileRequest(), cupsDoIORequest(), and cupsDoRequest(), the
 request is not freed.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsWriteRequestData">cupsWriteRequestData</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsWriteRequestData">cupsWriteRequestData</a></h3>
 <p class="description">Write additional data after an IPP request.</p>
 <p class="code">
 <a href="#http_status_t">http_status_t</a> cupsWriteRequestData (<br>
@@ -1364,7 +1365,7 @@ request is not freed.
 after <a href="#cupsStartDocument"><code>cupsStartDocument</code></a> to provide a document file.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="httpAddCredential">httpAddCredential</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span><a name="httpAddCredential">httpAddCredential</a></h3>
 <p class="description">Allocates and adds a single credential to an array.</p>
 <p class="code">
 int httpAddCredential (<br>
@@ -1387,7 +1388,7 @@ int httpAddCredential (<br>
 <p class="discussion">Use <code>cupsArrayNew(NULL, NULL)</code> to create a credentials array.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpAddrAny">httpAddrAny</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpAddrAny">httpAddrAny</a></h3>
 <p class="description">Check for the &quot;any&quot; address.</p>
 <p class="code">
 int httpAddrAny (<br>
@@ -1400,7 +1401,7 @@ int httpAddrAny (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">1 if &quot;any&quot;, 0 otherwise</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpAddrEqual">httpAddrEqual</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpAddrEqual">httpAddrEqual</a></h3>
 <p class="description">Compare two addresses.</p>
 <p class="code">
 int httpAddrEqual (<br>
@@ -1416,7 +1417,7 @@ int httpAddrEqual (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">1 if equal, 0 if not</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpAddrLength">httpAddrLength</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpAddrLength">httpAddrLength</a></h3>
 <p class="description">Return the length of the address in bytes.</p>
 <p class="code">
 int httpAddrLength (<br>
@@ -1429,7 +1430,7 @@ int httpAddrLength (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Length in bytes</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpAddrLocalhost">httpAddrLocalhost</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpAddrLocalhost">httpAddrLocalhost</a></h3>
 <p class="description">Check for the local loopback address.</p>
 <p class="code">
 int httpAddrLocalhost (<br>
@@ -1442,7 +1443,7 @@ int httpAddrLocalhost (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">1 if local host, 0 otherwise</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpAddrLookup">httpAddrLookup</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpAddrLookup">httpAddrLookup</a></h3>
 <p class="description">Lookup the hostname associated with the address.</p>
 <p class="code">
 char *httpAddrLookup (<br>
@@ -1461,7 +1462,7 @@ char *httpAddrLookup (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Host name</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpAddrString">httpAddrString</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpAddrString">httpAddrString</a></h3>
 <p class="description">Convert an address to a numeric string.</p>
 <p class="code">
 char *httpAddrString (<br>
@@ -1480,7 +1481,7 @@ char *httpAddrString (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Numeric address string</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpAssembleURI">httpAssembleURI</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpAssembleURI">httpAssembleURI</a></h3>
 <p class="description">Assemble a uniform resource identifier from its
 components.</p>
 <p class="code">
@@ -1522,7 +1523,7 @@ place of traditional string functions whenever you need to create a
 URI string.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpAssembleURIf">httpAssembleURIf</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpAssembleURIf">httpAssembleURIf</a></h3>
 <p class="description">Assemble a uniform resource identifier from its
 components with a formatted resource.</p>
 <p class="code">
@@ -1595,7 +1596,7 @@ int httpCheck (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">0 = no data, 1 = data available</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="httpClearCookie">httpClearCookie</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="httpClearCookie">httpClearCookie</a></h3>
 <p class="description">Clear the cookie value(s).</p>
 <p class="code">
 void httpClearCookie (<br>
@@ -1667,7 +1668,7 @@ void httpClose (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New HTTP connection</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="httpCopyCredentials">httpCopyCredentials</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span><a name="httpCopyCredentials">httpCopyCredentials</a></h3>
 <p class="description">Copy the credentials associated with an encrypted
 connection.</p>
 <p class="code">
@@ -1705,7 +1706,7 @@ char *httpDecode64 (<br>
 which provides buffer length arguments.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/Mac OS X 10.4&nbsp;</span><a name="httpDecode64_2">httpDecode64_2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/OS X 10.4&nbsp;</span><a name="httpDecode64_2">httpDecode64_2</a></h3>
 <p class="description">Base64-decode a string.</p>
 <p class="code">
 char *httpDecode64_2 (<br>
@@ -1761,7 +1762,7 @@ char *httpEncode64 (<br>
 which provides buffer length arguments.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/Mac OS X 10.4&nbsp;</span><a name="httpEncode64_2">httpEncode64_2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/OS X 10.4&nbsp;</span><a name="httpEncode64_2">httpEncode64_2</a></h3>
 <p class="description">Base64-encode a string.</p>
 <p class="code">
 char *httpEncode64_2 (<br>
@@ -1823,7 +1824,7 @@ void httpFlush (<br>
 <dt>http</dt>
 <dd class="description">Connection to server</dd>
 </dl>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpFlushWrite">httpFlushWrite</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpFlushWrite">httpFlushWrite</a></h3>
 <p class="description">Flush data in write buffer.</p>
 <p class="code">
 int httpFlushWrite (<br>
@@ -1863,7 +1864,7 @@ int httpGet (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Status of call (0 = success)</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="httpGetAuthString">httpGetAuthString</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="httpGetAuthString">httpGetAuthString</a></h3>
 <p class="description">Get the current authorization string.</p>
 <p class="code">
 char *httpGetAuthString (<br>
@@ -1883,7 +1884,7 @@ string to use with httpSetField() for the HTTP_FIELD_AUTHORIZATION
 value.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpGetBlocking">httpGetBlocking</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpGetBlocking">httpGetBlocking</a></h3>
 <p class="description">Get the blocking/non-block state of a connection.</p>
 <p class="code">
 int httpGetBlocking (<br>
@@ -1896,7 +1897,7 @@ int httpGetBlocking (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">1 if blocking, 0 if non-blocking</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="httpGetCookie">httpGetCookie</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="httpGetCookie">httpGetCookie</a></h3>
 <p class="description">Get any cookie data from the response.</p>
 <p class="code">
 const char *httpGetCookie (<br>
@@ -1922,7 +1923,7 @@ const char *httpGetDateString (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Date/time string</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpGetDateString2">httpGetDateString2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="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>
@@ -1954,7 +1955,7 @@ time_t httpGetDateTime (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">UNIX time</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpGetFd">httpGetFd</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpGetFd">httpGetFd</a></h3>
 <p class="description">Get the file descriptor associated with a connection.</p>
 <p class="code">
 int httpGetFd (<br>
@@ -1997,7 +1998,7 @@ struct hostent *httpGetHostByName (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Host entry</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpGetHostname">httpGetHostname</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpGetHostname">httpGetHostname</a></h3>
 <p class="description">Get the FQDN for the connection or local system.</p>
 <p class="code">
 const char *httpGetHostname (<br>
@@ -2042,7 +2043,7 @@ int httpGetLength (<br>
 2^31 - 1; use httpGetLength2() instead.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpGetLength2">httpGetLength2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="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">
@@ -2074,7 +2075,7 @@ content larger than 2^31 - 1.
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">HTTP state</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpGetStatus">httpGetStatus</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpGetStatus">httpGetStatus</a></h3>
 <p class="description">Get the status of the last HTTP request.</p>
 <p class="code">
 <a href="#http_status_t">http_status_t</a> httpGetStatus (<br>
@@ -2109,7 +2110,7 @@ char *httpGetSubField (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Value or NULL</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpGetSubField2">httpGetSubField2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpGetSubField2">httpGetSubField2</a></h3>
 <p class="description">Get a sub-field value.</p>
 <p class="code">
 char *httpGetSubField2 (<br>
@@ -2321,7 +2322,7 @@ int httpRead (<br>
 read more than 2GB of data.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpRead2">httpRead2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpRead2">httpRead2</a></h3>
 <p class="description">Read data from a HTTP connection.</p>
 <p class="code">
 ssize_t httpRead2 (<br>
@@ -2404,7 +2405,7 @@ void httpSeparate (<br>
 <p class="discussion">This function is deprecated; use the httpSeparateURI() function instead.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/Mac OS X 10.4&nbsp;</span><a name="httpSeparate2">httpSeparate2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/OS X 10.4&nbsp;</span><a name="httpSeparate2">httpSeparate2</a></h3>
 <p class="description">Separate a Universal Resource Identifier into its
 components.</p>
 <p class="code">
@@ -2448,7 +2449,7 @@ void httpSeparate2 (<br>
 
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpSeparateURI">httpSeparateURI</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpSeparateURI">httpSeparateURI</a></h3>
 <p class="description">Separate a Universal Resource Identifier into its
 components.</p>
 <p class="code">
@@ -2492,7 +2493,7 @@ components.</p>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Result of separation</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="httpSetAuthString">httpSetAuthString</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="httpSetAuthString">httpSetAuthString</a></h3>
 <p class="description">Set the current authorization string.</p>
 <p class="code">
 void httpSetAuthString (<br>
@@ -2516,7 +2517,7 @@ HTTP_FIELD_AUTHORIZATION prior to issuing a HTTP request using httpGet(),
 httpHead(), httpOptions(), httpPost, or httpPut().
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="httpSetCookie">httpSetCookie</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="httpSetCookie">httpSetCookie</a></h3>
 <p class="description">Set the cookie value(s).</p>
 <p class="code">
 void httpSetCookie (<br>
@@ -2530,7 +2531,7 @@ void httpSetCookie (<br>
 <dt>cookie</dt>
 <dd class="description">Cookie string</dd>
 </dl>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="httpSetCredentials">httpSetCredentials</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span><a name="httpSetCredentials">httpSetCredentials</a></h3>
 <p class="description">Set the credentials associated with an encrypted
 connection.</p>
 <p class="code">
@@ -2547,7 +2548,7 @@ int httpSetCredentials (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Status of call (0 = success)</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpSetExpect">httpSetExpect</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpSetExpect">httpSetExpect</a></h3>
 <p class="description">Set the Expect: header in a request.</p>
 <p class="code">
 void httpSetExpect (<br>
@@ -2582,7 +2583,7 @@ void httpSetField (<br>
 <dt>value</dt>
 <dd class="description">Value</dd>
 </dl>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpSetLength">httpSetLength</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpSetLength">httpSetLength</a></h3>
 <p class="description">Set the content-length and content-encoding.</p>
 <p class="code">
 void httpSetLength (<br>
@@ -2596,7 +2597,7 @@ void httpSetLength (<br>
 <dt>length</dt>
 <dd class="description">Length (0 for chunked)</dd>
 </dl>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="httpSetTimeout">httpSetTimeout</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span><a name="httpSetTimeout">httpSetTimeout</a></h3>
 <p class="description">Set read/write timeouts and an optional callback.</p>
 <p class="code">
 void httpSetTimeout (<br>
@@ -2667,7 +2668,7 @@ int httpTrace (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">HTTP status</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="httpWait">httpWait</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="httpWait">httpWait</a></h3>
 <p class="description">Wait for data available on a connection.</p>
 <p class="code">
 int httpWait (<br>
@@ -2707,7 +2708,7 @@ int httpWrite (<br>
 write more than 2GB of data.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="httpWrite2">httpWrite2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="httpWrite2">httpWrite2</a></h3>
 <p class="description">Write data to a HTTP connection.</p>
 <p class="code">
 ssize_t httpWrite2 (<br>
@@ -2791,7 +2792,7 @@ The <code>group</code> parameter specifies the IPP attribute group tag: none
 event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
 (<code>IPP_TAG_OPERATION</code>), printer (<code>IPP_TAG_PRINTER</code>), subscription
 (<code>IPP_TAG_SUBSCRIPTION</code>), or unsupported (<code>IPP_TAG_UNSUPPORTED_GROUP</code>).</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ippAddCollection">ippAddCollection</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="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>
@@ -2824,7 +2825,7 @@ event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
 (<code>IPP_TAG_SUBSCRIPTION</code>), or unsupported (<code>IPP_TAG_UNSUPPORTED_GROUP</code>).
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ippAddCollections">ippAddCollections</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="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>
@@ -2968,7 +2969,7 @@ event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
 <br>
 Supported values include enum (<code>IPP_TAG_ENUM</code>) and integer
 (<code>IPP_TAG_INTEGER</code>).</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ippAddOctetString">ippAddOctetString</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="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>
@@ -3004,7 +3005,7 @@ event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
 (<code>IPP_TAG_SUBSCRIPTION</code>), or unsupported (<code>IPP_TAG_UNSUPPORTED_GROUP</code>).
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippAddOutOfBand">ippAddOutOfBand</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="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>
@@ -3306,7 +3307,7 @@ Supported string values include charset (<code>IPP_TAG_CHARSET</code>), keyword
 <br>
 The <code>language</code> parameter must be non-<code>NULL</code> for nameWithLanguage and
 textWithLanguage string values and must be <code>NULL</code> for all other string values.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippAttributeString">ippAttributeString</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippAttributeString">ippAttributeString</a></h3>
 <p class="description">Convert the attribute's value to a string.</p>
 <p class="code">
 size_t ippAttributeString (<br>
@@ -3331,7 +3332,7 @@ trailing nul. The buffer pointer can be NULL to get the required length,
 just like (v)snprintf.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippCopyAttribute">ippCopyAttribute</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="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>
@@ -3357,7 +3358,7 @@ created - this should only be done as long as the original source IPP message wi
 not be freed for the life of the destination.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippCopyAttributes">ippCopyAttributes</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippCopyAttributes">ippCopyAttributes</a></h3>
 <p class="description">Copy attributes from one IPP message to another.</p>
 <p class="code">
 int ippCopyAttributes (<br>
@@ -3419,7 +3420,7 @@ void ippDelete (<br>
 <dt>ipp</dt>
 <dd class="description">IPP message</dd>
 </dl>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ippDeleteAttribute">ippDeleteAttribute</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="ippDeleteAttribute">ippDeleteAttribute</a></h3>
 <p class="description">Delete a single attribute in an IPP message.</p>
 <p class="code">
 void ippDeleteAttribute (<br>
@@ -3433,7 +3434,7 @@ void ippDeleteAttribute (<br>
 <dt>attr</dt>
 <dd class="description">Attribute to delete</dd>
 </dl>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippDeleteValues">ippDeleteValues</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippDeleteValues">ippDeleteValues</a></h3>
 <p class="description">Delete values in an attribute.</p>
 <p class="code">
 int ippDeleteValues (<br>
@@ -3509,7 +3510,7 @@ const char *ippErrorString (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Text string</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ippErrorValue">ippErrorValue</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ippErrorValue">ippErrorValue</a></h3>
 <p class="description">Return a status code for the given name.</p>
 <p class="code">
 ipp_status_t ippErrorValue (<br>
@@ -3560,7 +3561,7 @@ ipp_status_t ippErrorValue (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Matching attribute</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippFirstAttribute">ippFirstAttribute</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="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>
@@ -3573,7 +3574,7 @@ ipp_status_t ippErrorValue (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">First attribute or <code>NULL</code> if none</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippGetBoolean">ippGetBoolean</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippGetBoolean">ippGetBoolean</a></h3>
 <p class="description">Get a boolean value for an attribute.</p>
 <p class="code">
 int ippGetBoolean (<br>
@@ -3594,7 +3595,7 @@ int ippGetBoolean (<br>
 <a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a> - 1.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippGetCollection">ippGetCollection</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="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>
@@ -3615,7 +3616,7 @@ int ippGetBoolean (<br>
 <a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a> - 1.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippGetCount">ippGetCount</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippGetCount">ippGetCount</a></h3>
 <p class="description">Get the number of values in an attribute.</p>
 <p class="code">
 int ippGetCount (<br>
@@ -3628,7 +3629,7 @@ int ippGetCount (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Number of values or -1 on error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippGetDate">ippGetDate</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippGetDate">ippGetDate</a></h3>
 <p class="description">Get a date value for an attribute.</p>
 <p class="code">
 const <a href="#ipp_uchar_t">ipp_uchar_t</a> *ippGetDate (<br>
@@ -3649,7 +3650,7 @@ const <a href="#ipp_uchar_t">ipp_uchar_t</a> *ippGetDate (<br>
 <a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a> - 1.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippGetGroupTag">ippGetGroupTag</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippGetGroupTag">ippGetGroupTag</a></h3>
 <p class="description">Get the group associated with an attribute.</p>
 <p class="code">
 ipp_tag_t ippGetGroupTag (<br>
@@ -3662,7 +3663,7 @@ ipp_tag_t ippGetGroupTag (<br>
 </dl>
 <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">&nbsp;CUPS 1.6&nbsp;</span><a name="ippGetInteger">ippGetInteger</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippGetInteger">ippGetInteger</a></h3>
 <p class="description">Get the integer/enum value for an attribute.</p>
 <p class="code">
 int ippGetInteger (<br>
@@ -3683,7 +3684,7 @@ int ippGetInteger (<br>
 <a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a> - 1.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippGetName">ippGetName</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippGetName">ippGetName</a></h3>
 <p class="description">Get the attribute name.</p>
 <p class="code">
 const char *ippGetName (<br>
@@ -3696,7 +3697,7 @@ const char *ippGetName (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Attribute name or <code>NULL</code> for separators</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippGetOperation">ippGetOperation</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippGetOperation">ippGetOperation</a></h3>
 <p class="description">Get the operation ID in an IPP message.</p>
 <p class="code">
 ipp_op_t ippGetOperation (<br>
@@ -3709,7 +3710,7 @@ ipp_op_t ippGetOperation (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Operation ID or -1 on error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippGetRange">ippGetRange</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippGetRange">ippGetRange</a></h3>
 <p class="description">Get a rangeOfInteger value from an attribute.</p>
 <p class="code">
 int ippGetRange (<br>
@@ -3733,7 +3734,7 @@ int ippGetRange (<br>
 <a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a> - 1.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippGetRequestId">ippGetRequestId</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippGetRequestId">ippGetRequestId</a></h3>
 <p class="description">Get the request ID from an IPP message.</p>
 <p class="code">
 int ippGetRequestId (<br>
@@ -3746,7 +3747,7 @@ int ippGetRequestId (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Request ID or -1 on error</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippGetResolution">ippGetResolution</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippGetResolution">ippGetResolution</a></h3>
 <p class="description">Get a resolution value for an attribute.</p>
 <p class="code">
 int ippGetResolution (<br>
@@ -3773,7 +3774,7 @@ int ippGetResolution (<br>
 <a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a> - 1.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippGetState">ippGetState</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="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>
@@ -3786,7 +3787,7 @@ int ippGetResolution (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">IPP message state value</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippGetStatusCode">ippGetStatusCode</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="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>
@@ -3822,7 +3823,7 @@ const char *ippGetString (<br>
 <a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a> - 1.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippGetValueTag">ippGetValueTag</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippGetValueTag">ippGetValueTag</a></h3>
 <p class="description">Get the value tag for an attribute.</p>
 <p class="code">
 ipp_tag_t ippGetValueTag (<br>
@@ -3835,7 +3836,7 @@ ipp_tag_t ippGetValueTag (<br>
 </dl>
 <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">&nbsp;CUPS 1.6&nbsp;</span><a name="ippGetVersion">ippGetVersion</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="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>
@@ -3870,7 +3871,7 @@ size_t ippLength (<br>
 <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">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ippNewRequest">ippNewRequest</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="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>
@@ -3889,7 +3890,7 @@ attributes-natural-language attributes added. The
 attributes-natural-language value is derived from the current locale.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippNextAttribute">ippNextAttribute</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="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>
@@ -3902,7 +3903,7 @@ attributes-natural-language value is derived from the current locale.
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Next attribute or <code>NULL</code> if none</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ippOpString">ippOpString</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ippOpString">ippOpString</a></h3>
 <p class="description">Return a name for the given operation id.</p>
 <p class="code">
 const char *ippOpString (<br>
@@ -3915,7 +3916,7 @@ const char *ippOpString (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Name</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ippOpValue">ippOpValue</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ippOpValue">ippOpValue</a></h3>
 <p class="description">Return an operation id for the given name.</p>
 <p class="code">
 ipp_op_t ippOpValue (<br>
@@ -3950,7 +3951,7 @@ int ippPort (void);</p>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Current state</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ippReadFile">ippReadFile</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="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>
@@ -3966,7 +3967,7 @@ int ippPort (void);</p>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Current state</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ippReadIO">ippReadIO</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="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>
@@ -3991,7 +3992,7 @@ int ippPort (void);</p>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Current state</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippSetBoolean">ippSetBoolean</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetBoolean">ippSetBoolean</a></h3>
 <p class="description">Set a boolean value in an attribute.</p>
 <p class="code">
 int ippSetBoolean (<br>
@@ -4023,7 +4024,7 @@ The <code>element</code> parameter specifies which value to set from 0 to
 <a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippSetCollection">ippSetCollection</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetCollection">ippSetCollection</a></h3>
 <p class="description">Set a collection value in an attribute.</p>
 <p class="code">
 int ippSetCollection (<br>
@@ -4055,7 +4056,7 @@ The <code>element</code> parameter specifies which value to set from 0 to
 <a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippSetDate">ippSetDate</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetDate">ippSetDate</a></h3>
 <p class="description">Set a date value in an attribute.</p>
 <p class="code">
 int ippSetDate (<br>
@@ -4087,7 +4088,7 @@ The <code>element</code> parameter specifies which value to set from 0 to
 <a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippSetGroupTag">ippSetGroupTag</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetGroupTag">ippSetGroupTag</a></h3>
 <p class="description">Set the group tag of an attribute.</p>
 <p class="code">
 int ippSetGroupTag (<br>
@@ -4119,7 +4120,7 @@ event notification (<code>IPP_TAG_EVENT_NOTIFICATION</code>), operation
 (<code>IPP_TAG_SUBSCRIPTION</code>), or unsupported (<code>IPP_TAG_UNSUPPORTED_GROUP</code>).
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippSetInteger">ippSetInteger</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetInteger">ippSetInteger</a></h3>
 <p class="description">Set an integer or enum value in an attribute.</p>
 <p class="code">
 int ippSetInteger (<br>
@@ -4151,7 +4152,7 @@ The <code>element</code> parameter specifies which value to set from 0 to
 <a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippSetName">ippSetName</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetName">ippSetName</a></h3>
 <p class="description">Set the name of an attribute.</p>
 <p class="code">
 int ippSetName (<br>
@@ -4177,7 +4178,7 @@ previously created using the <a href="#ippNew"><code>ippNew</code></a> or <a hre
 The <code>attr</code> parameter may be modified as a result of setting the value.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippSetOperation">ippSetOperation</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetOperation">ippSetOperation</a></h3>
 <p class="description">Set the operation ID in an IPP request message.</p>
 <p class="code">
 int ippSetOperation (<br>
@@ -4209,7 +4210,7 @@ void ippSetPort (<br>
 <dt>p</dt>
 <dd class="description">Port number to use</dd>
 </dl>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippSetRange">ippSetRange</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetRange">ippSetRange</a></h3>
 <p class="description">Set a rangeOfInteger value in an attribute.</p>
 <p class="code">
 int ippSetRange (<br>
@@ -4244,7 +4245,7 @@ The <code>element</code> parameter specifies which value to set from 0 to
 <a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippSetRequestId">ippSetRequestId</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetRequestId">ippSetRequestId</a></h3>
 <p class="description">Set the request ID in an IPP message.</p>
 <p class="code">
 int ippSetRequestId (<br>
@@ -4267,7 +4268,7 @@ int ippSetRequestId (<br>
 The <code>request_id</code> parameter must be greater than 0.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippSetResolution">ippSetResolution</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetResolution">ippSetResolution</a></h3>
 <p class="description">Set a resolution value in an attribute.</p>
 <p class="code">
 int ippSetResolution (<br>
@@ -4305,7 +4306,7 @@ The <code>element</code> parameter specifies which value to set from 0 to
 <a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippSetState">ippSetState</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetState">ippSetState</a></h3>
 <p class="description">Set the current state of the IPP message.</p>
 <p class="code">
 int ippSetState (<br>
@@ -4321,7 +4322,7 @@ int ippSetState (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">1 on success, 0 on failure</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippSetStatusCode">ippSetStatusCode</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="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>
@@ -4342,7 +4343,7 @@ int ippSetStatusCode (<br>
 <a href="#ippNew"><code>ippNew</code></a> or <a href="#ippNewRequest"><code>ippNewRequest</code></a> functions.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippSetString">ippSetString</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetString">ippSetString</a></h3>
 <p class="description">Set a string value in an attribute.</p>
 <p class="code">
 int ippSetString (<br>
@@ -4374,7 +4375,7 @@ The <code>element</code> parameter specifies which value to set from 0 to
 <a href="#ippGetCount(attr)"><code>ippGetCount(attr)</code></a>.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippSetValueTag">ippSetValueTag</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetValueTag">ippSetValueTag</a></h3>
 <p class="description">Set the value tag of an attribute.</p>
 <p class="code">
 int ippSetValueTag (<br>
@@ -4412,7 +4413,7 @@ code in the &quot;attributes-natural-language&quot; attribute or, if not present
 code for the current locale.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.6&nbsp;</span><a name="ippSetVersion">ippSetVersion</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.6/OS X 10.8&nbsp;</span><a name="ippSetVersion">ippSetVersion</a></h3>
 <p class="description">Set the version number in an IPP message.</p>
 <p class="code">
 int ippSetVersion (<br>
@@ -4438,7 +4439,7 @@ int ippSetVersion (<br>
 The valid version numbers are currently 1.0, 1.1, 2.0, 2.1, and 2.2.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="ippTagString">ippTagString</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="ippTagString">ippTagString</a></h3>
 <p class="description">Return the tag name corresponding to a tag value.</p>
 <p class="code">
 const char *ippTagString (<br>
@@ -4455,7 +4456,7 @@ const char *ippTagString (<br>
 <p class="discussion">The returned names are defined in RFC 2911 and 3382.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="ippTagValue">ippTagValue</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="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>
@@ -4501,7 +4502,7 @@ const <a href="#ipp_uchar_t">ipp_uchar_t</a> *ippTimeToDate (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Current state</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ippWriteFile">ippWriteFile</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="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>
@@ -4517,7 +4518,7 @@ const <a href="#ipp_uchar_t">ipp_uchar_t</a> *ippTimeToDate (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Current state</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ippWriteIO">ippWriteIO</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="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>
@@ -4548,7 +4549,7 @@ const <a href="#ipp_uchar_t">ipp_uchar_t</a> *ippTimeToDate (<br>
 <p class="code">
 typedef struct <a href="#gss_auth_identity">gss_auth_identity</a> gss_auth_identity_desc;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="http_addr_t">http_addr_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="http_addr_t">http_addr_t</a></h3>
 <p class="description">Socket address union, which
 makes using IPv6 and other
 address types easier and
@@ -4556,7 +4557,7 @@ more portable. </p>
 <p class="code">
 typedef union _http_addr_u / http_addr_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="http_addrlist_t">http_addrlist_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="http_addrlist_t">http_addrlist_t</a></h3>
 <p class="description">Socket address list, which is
 used to enumerate all of the
 addresses that are associated
@@ -4569,7 +4570,7 @@ typedef struct <a href="#http_addrlist_s">http_addrlist_s</a> / http_addrlist_t;
 <p class="code">
 typedef enum <a href="#http_auth_e">http_auth_e</a> http_auth_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="http_credential_t">http_credential_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span><a name="http_credential_t">http_credential_t</a></h3>
 <p class="description">HTTP credential data </p>
 <p class="code">
 typedef struct <a href="#http_credential_s">http_credential_s</a> http_credential_t;
@@ -4610,7 +4611,7 @@ typedef enum <a href="#http_status_e">http_status_e</a> http_status_t;
 <p class="code">
 typedef struct _http_s http_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="http_timeout_cb_t">http_timeout_cb_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span><a name="http_timeout_cb_t">http_timeout_cb_t</a></h3>
 <p class="description">HTTP timeout callback </p>
 <p class="code">
 typedef int (*http_timeout_cb_t)(<a href="#http_t">http_t</a> *http, void *user_data);
@@ -4636,9 +4637,9 @@ typedef enum <a href="#http_version_e">http_version_e</a> http_version_t;
 typedef struct _ipp_attribute_s ipp_attribute_t;
 </p>
 <h3 class="typedef"><a name="ipp_copycb_t">ipp_copycb_t</a></h3>
-<p class="description">The following structures are PRIVATE starting with CUPS 1.6.  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>
+<p class="description">The following structures are PRIVATE starting with CUPS 1.6/OS X 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>
 <p class="code">
 typedef int (*ipp_copycb_t)(void *context, <a href="#ipp_t">ipp_t</a> *dst, <a href="#ipp_attribute_t">ipp_attribute_t</a> *attr);
 </p>
@@ -4652,7 +4653,7 @@ typedef enum <a href="#ipp_dstate_e">ipp_dstate_e</a> ipp_dstate_t;
 <p class="code">
 typedef enum <a href="#ipp_finish_e">ipp_finish_e</a> ipp_finish_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ipp_iocb_t">ipp_iocb_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ipp_iocb_t">ipp_iocb_t</a></h3>
 <p class="description">IPP IO Callback Function </p>
 <p class="code">
 typedef ssize_t (*ipp_iocb_t)(void *context, <a href="#ipp_uchar_t">ipp_uchar_t</a> *buffer, size_t bytes);
@@ -4717,7 +4718,7 @@ typedef unsigned char ipp_uchar_t;
 <dt>type </dt>
 <dt>username </dt>
 </dl>
-<h3 class="struct"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="http_addrlist_s">http_addrlist_s</a></h3>
+<h3 class="struct"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="http_addrlist_s">http_addrlist_s</a></h3>
 <p class="description">Socket address list, which is
 used to enumerate all of the
 addresses that are associated
@@ -4733,7 +4734,7 @@ with a hostname. </p>
 <dt>next </dt>
 <dd class="description">Pointer to next address in list</dd>
 </dl>
-<h3 class="struct"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="http_credential_s">http_credential_s</a></h3>
+<h3 class="struct"><span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span><a name="http_credential_s">http_credential_s</a></h3>
 <p class="description">HTTP credential data </p>
 <p class="code">struct http_credential_s {<br>
 &nbsp;&nbsp;&nbsp;&nbsp;void *data;<br>
@@ -4746,6 +4747,17 @@ with a hostname. </p>
 <dt>datalen </dt>
 <dd class="description">Credential length</dd>
 </dl>
+<h3 class="struct"><a name="pollfd">pollfd</a></h3>
+<p class="description">User data (unused)</p>
+<p class="code">struct pollfd *pollfds, unsigned int num_pollfds, int timeout, void *context) {<br>
+&nbsp;&nbsp;&nbsp;&nbsp;void) context;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;void) timeout;<br>
+};</p>
+<h4 class="members">Members</h4>
+<dl>
+<dt>context </dt>
+<dt>timeout </dt>
+</dl>
 <h2 class="title"><a name="ENUMERATIONS">Constants</a></h2>
 <h3 class="enumeration"><a name="http_auth_e">http_auth_e</a></h3>
 <p class="description">HTTP authentication types</p>
@@ -4761,7 +4773,7 @@ with a hostname. </p>
 <dd class="description">MD5-session authentication in use</dd>
 <dt>HTTP_AUTH_MD5_SESS_INT </dt>
 <dd class="description">MD5-session authentication in use for body</dd>
-<dt>HTTP_AUTH_NEGOTIATE <span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span></dt>
+<dt>HTTP_AUTH_NEGOTIATE <span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span></dt>
 <dd class="description">GSSAPI authentication in use </dd>
 <dt>HTTP_AUTH_NONE </dt>
 <dd class="description">No authentication in use</dd>
@@ -4954,7 +4966,7 @@ are server-oriented...</p>
 <dd class="description">Only a partial file was recieved/sent</dd>
 <dt>HTTP_PAYMENT_REQUIRED </dt>
 <dd class="description">Payment required</dd>
-<dt>HTTP_PKI_ERROR <span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span></dt>
+<dt>HTTP_PKI_ERROR <span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span></dt>
 <dd class="description">Error negotiating a secure connection </dd>
 <dt>HTTP_PRECONDITION </dt>
 <dd class="description">Precondition failed</dd>
@@ -5162,7 +5174,7 @@ are server-oriented...</p>
 <dd class="description">Add or modify a class</dd>
 <dt>CUPS_ADD_MODIFY_PRINTER </dt>
 <dd class="description">Add or modify a printer</dd>
-<dt>CUPS_AUTHENTICATE_JOB <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>CUPS_AUTHENTICATE_JOB <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Authenticate a job </dd>
 <dt>CUPS_DELETE_CLASS </dt>
 <dd class="description">Delete a class</dd>
@@ -5174,9 +5186,9 @@ are server-oriented...</p>
 <dd class="description">Get the default printer</dd>
 <dt>CUPS_GET_DEVICES </dt>
 <dd class="description">Get a list of supported devices</dd>
-<dt>CUPS_GET_DOCUMENT <span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span></dt>
+<dt>CUPS_GET_DOCUMENT <span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span></dt>
 <dd class="description">Get a document file </dd>
-<dt>CUPS_GET_PPD <span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span></dt>
+<dt>CUPS_GET_PPD <span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Get a PPD file </dd>
 <dt>CUPS_GET_PPDS </dt>
 <dd class="description">Get a list of supported drivers</dd>
@@ -5194,15 +5206,15 @@ are server-oriented...</p>
 <dd class="description">Cancel-Jobs</dd>
 <dt>IPP_CANCEL_MY_JOBS </dt>
 <dd class="description">Cancel-My-Jobs</dd>
-<dt>IPP_CANCEL_SUBSCRIPTION <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>IPP_CANCEL_SUBSCRIPTION <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Cancel a subscription </dd>
 <dt>IPP_CLOSE_JOB </dt>
 <dd class="description">Close-Job</dd>
 <dt>IPP_CREATE_JOB </dt>
 <dd class="description">Create an empty print job</dd>
-<dt>IPP_CREATE_JOB_SUBSCRIPTION <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>IPP_CREATE_JOB_SUBSCRIPTION <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Create a job subscription </dd>
-<dt>IPP_CREATE_PRINTER_SUBSCRIPTION <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>IPP_CREATE_PRINTER_SUBSCRIPTION <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Create a printer subscription </dd>
 <dt>IPP_DISABLE_PRINTER </dt>
 <dd class="description">Stop a printer</dd>
@@ -5212,15 +5224,15 @@ are server-oriented...</p>
 <dd class="description">Get a list of jobs</dd>
 <dt>IPP_GET_JOB_ATTRIBUTES </dt>
 <dd class="description">Get job attributes</dd>
-<dt>IPP_GET_NOTIFICATIONS <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>IPP_GET_NOTIFICATIONS <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Get notification events </dd>
 <dt>IPP_GET_PRINTER_ATTRIBUTES </dt>
 <dd class="description">Get printer attributes</dd>
 <dt>IPP_GET_PRINTER_SUPPORTED_VALUES </dt>
 <dd class="description">Get supported attribute values</dd>
-<dt>IPP_GET_SUBSCRIPTIONS <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>IPP_GET_SUBSCRIPTIONS <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Get list of subscriptions </dd>
-<dt>IPP_GET_SUBSCRIPTION_ATTRIBUTES <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>IPP_GET_SUBSCRIPTION_ATTRIBUTES <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Get subscription attributes </dd>
 <dt>IPP_HOLD_JOB </dt>
 <dd class="description">Hold a job for printing</dd>
@@ -5236,7 +5248,7 @@ are server-oriented...</p>
 <dd class="description">Cancel all jobs</dd>
 <dt>IPP_RELEASE_JOB </dt>
 <dd class="description">Release a job for printing</dd>
-<dt>IPP_RENEW_SUBSCRIPTION <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>IPP_RENEW_SUBSCRIPTION <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Renew a printer subscription </dd>
 <dt>IPP_RESTART_JOB </dt>
 <dd class="description">Reprint a job</dd>
@@ -5322,7 +5334,7 @@ are server-oriented...</p>
 <dd class="description">client-error-attributes-or-values-not-supported</dd>
 <dt>IPP_ATTRIBUTES_NOT_SETTABLE </dt>
 <dd class="description">client-error-attributes-not-settable</dd>
-<dt>IPP_AUTHENTICATION_CANCELED <span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span></dt>
+<dt>IPP_AUTHENTICATION_CANCELED <span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span></dt>
 <dd class="description">Authentication canceled by user </dd>
 <dt>IPP_BAD_REQUEST </dt>
 <dd class="description">client-error-bad-request</dd>
@@ -5386,7 +5398,7 @@ are server-oriented...</p>
 <dd class="description">successful-ok-too-many-events</dd>
 <dt>IPP_OPERATION_NOT_SUPPORTED </dt>
 <dd class="description">server-error-operation-not-supported</dd>
-<dt>IPP_PKI_ERROR <span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span></dt>
+<dt>IPP_PKI_ERROR <span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span></dt>
 <dd class="description">Error negotiating a secure connection </dd>
 <dt>IPP_PRINTER_BUSY </dt>
 <dd class="description">server-error-busy</dd>
index 5746406920a2d90ab4ec402f7f019e603ded98d0..d0162618232600a04ef8912c509d9c07ece1fe75 100644 (file)
@@ -345,7 +345,7 @@ div.contents ul.subcontents li {
 
   PPD API header for CUPS.
 
-  Copyright 2008-2011 by Apple Inc.
+  Copyright 2008-2012 by Apple Inc.
 
   These coded instructions, statements, and computer programs are the
   property of Apple Inc. and are protected by Federal copyright
@@ -356,7 +356,7 @@ div.contents ul.subcontents li {
 
 <h1 class='title'>PPD API (DEPRECATED)</h1>
 
-<blockquote>The PPD API is deprecated starting in CUPS 1.6. Please use the new Job Ticket APIs in the <a href="api-cups.html">CUPS API</a> documentation. These functions will be removed in a future release of CUPS.</blockquote>
+<blockquote>The PPD API is deprecated starting in CUPS 1.6/OS X 10.8. Please use the new Job Ticket APIs in the <a href="api-cups.html">CUPS API</a> documentation. These functions will be removed in a future release of CUPS.</blockquote>
 
 <div class='summary'><table summary='General Information'>
 <thead>
@@ -490,7 +490,7 @@ conflicts.">ppdMarkOption</a></li>
 
   PPD API introduction for CUPS.
 
-  Copyright 2007-2011 by Apple Inc.
+  Copyright 2007-2012 by Apple Inc.
   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 
   These coded instructions, statements, and computer programs are the
@@ -502,7 +502,7 @@ conflicts.">ppdMarkOption</a></li>
 
 <h2 class='title'><a name='OVERVIEW'>Overview</a></h2>
 
-<blockquote>The PPD API is deprecated starting in CUPS 1.6. Please use the new Job Ticket APIs in the <a href="api-cups.html">CUPS API</a> documentation. These functions will be removed in a future release of CUPS.</blockquote>
+<blockquote>The PPD API is deprecated starting in CUPS 1.6/OS X 10.8. Please use the new Job Ticket APIs in the <a href="api-cups.html">CUPS API</a> documentation. These functions will be removed in a future release of CUPS.</blockquote>
 
 <p>The CUPS PPD API provides read-only access the data in PostScript Printer
 Description ("PPD") files which are used for all printers with a driver. With
@@ -705,7 +705,7 @@ for (attr = <a href="#ppdFindAttr">ppdFindAttr</a>(ppd, "Product", NULL);
   puts(attr->value);
 </pre>
 <h2 class="title"><a name="FUNCTIONS">Functions</a></h2>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsGetConflicts">cupsGetConflicts</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsGetConflicts">cupsGetConflicts</a></h3>
 <p class="description">Get a list of conflicting options in a marked PPD.</p>
 <p class="code">
 int cupsGetConflicts (<br>
@@ -762,7 +762,7 @@ int cupsMarkOptions (<br>
 &quot;multiple-document-handling&quot;, &quot;output-bin&quot;, &quot;print-color-mode&quot;,
 &quot;print-quality&quot;, &quot;printer-resolution&quot;, and &quot;sides&quot; attributes to their
 corresponding PPD options and choices.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsResolveConflicts">cupsResolveConflicts</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="cupsResolveConflicts">cupsResolveConflicts</a></h3>
 <p class="description">Resolve conflicts in a marked PPD.</p>
 <p class="code">
 int cupsResolveConflicts (<br>
@@ -854,7 +854,7 @@ int ppdCollect (<br>
 <h4 class="discussion">Discussion</h4>
 <p class="discussion">The choices array should be freed using <code>free</code> when you are
 finished with it.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppdCollect2">ppdCollect2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppdCollect2">ppdCollect2</a></h3>
 <p class="description">Collect all marked options that reside in the
 specified section and minimum order.</p>
 <p class="code">
@@ -917,7 +917,7 @@ int ppdEmit (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">0 on success, -1 on failure</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppdEmitAfterOrder">ppdEmitAfterOrder</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="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>
@@ -993,7 +993,7 @@ int ppdEmitJCL (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">0 on success, -1 on failure</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppdEmitJCLEnd">ppdEmitJCLEnd</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppdEmitJCLEnd">ppdEmitJCLEnd</a></h3>
 <p class="description">Emit JCLEnd code to a file.</p>
 <p class="code">
 int ppdEmitJCLEnd (<br>
@@ -1009,7 +1009,7 @@ int ppdEmitJCLEnd (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">0 on success, -1 on failure</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppdEmitString">ppdEmitString</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppdEmitString">ppdEmitString</a></h3>
 <p class="description">Get a string containing the code for marked options.</p>
 <p class="code">
 char *ppdEmitString (<br>
@@ -1038,7 +1038,7 @@ The return string is allocated on the heap and should be freed using
 <code>free</code> when you are done with it.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ppdErrorString">ppdErrorString</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="ppdErrorString">ppdErrorString</a></h3>
 <p class="description">Returns the text assocated with a status.</p>
 <p class="code">
 const char *ppdErrorString (<br>
@@ -1051,7 +1051,7 @@ const char *ppdErrorString (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Status string</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ppdFindAttr">ppdFindAttr</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="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>
@@ -1086,7 +1086,7 @@ const char *ppdErrorString (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Choice pointer or <code>NULL</code></p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppdFindCustomOption">ppdFindCustomOption</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="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>
@@ -1102,7 +1102,7 @@ const char *ppdErrorString (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Custom option or NULL</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppdFindCustomParam">ppdFindCustomParam</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="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>
@@ -1134,7 +1134,7 @@ const char *ppdErrorString (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Pointer to choice or <code>NULL</code></p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ppdFindNextAttr">ppdFindNextAttr</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="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>
@@ -1169,7 +1169,7 @@ const char *ppdErrorString (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Pointer to option or <code>NULL</code></p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppdFirstCustomParam">ppdFirstCustomParam</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="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>
@@ -1182,7 +1182,7 @@ const char *ppdErrorString (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Custom parameter or NULL</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppdFirstOption">ppdFirstOption</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="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>
@@ -1199,7 +1199,7 @@ const char *ppdErrorString (<br>
 <p class="discussion">Options are returned from all groups in ascending alphanumeric order.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="ppdInstallableConflict">ppdInstallableConflict</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="ppdInstallableConflict">ppdInstallableConflict</a></h3>
 <p class="description">Test whether an option choice conflicts with
 an installable option.</p>
 <p class="code">
@@ -1243,7 +1243,7 @@ int ppdIsMarked (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Non-zero if option is marked</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ppdLastError">ppdLastError</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="ppdLastError">ppdLastError</a></h3>
 <p class="description">Return the status from the last ppdOpen*().</p>
 <p class="code">
 <a href="#ppd_status_t">ppd_status_t</a> ppdLastError (<br>
@@ -1256,7 +1256,7 @@ int ppdIsMarked (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Status code</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppdLocalize">ppdLocalize</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppdLocalize">ppdLocalize</a></h3>
 <p class="description">Localize the PPD file to the current locale.</p>
 <p class="code">
 int ppdLocalize (<br>
@@ -1298,7 +1298,7 @@ localized string uses the UTF-8 character encoding.
 <p class="discussion">This function uses the current locale to find the localized attribute for
 the given main and option keywords.  If no localized version of the
 attribute exists for the current locale, the unlocalized version is returned.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span><a name="ppdLocalizeIPPReason">ppdLocalizeIPPReason</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span><a name="ppdLocalizeIPPReason">ppdLocalizeIPPReason</a></h3>
 <p class="description">Get the localized version of a cupsIPPReason
 attribute.</p>
 <p class="code">
@@ -1333,7 +1333,7 @@ string or attribute value. Otherwise the corresponding URI is returned.<br>
 If no value of the requested scheme can be found, NULL is returned.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="ppdLocalizeMarkerName">ppdLocalizeMarkerName</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="ppdLocalizeMarkerName">ppdLocalizeMarkerName</a></h3>
 <p class="description">Get the localized version of a marker-names
 attribute value.</p>
 <p class="code">
@@ -1387,7 +1387,7 @@ int ppdMarkOption (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Number of conflicts</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppdNextCustomParam">ppdNextCustomParam</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="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>
@@ -1400,7 +1400,7 @@ int ppdMarkOption (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Custom parameter or NULL</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppdNextOption">ppdNextOption</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="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>
@@ -1430,7 +1430,7 @@ int ppdMarkOption (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">PPD file record</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppdOpen2">ppdOpen2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppdOpen2">ppdOpen2</a></h3>
 <p class="description">Read a PPD file into memory.</p>
 <p class="code">
 <a href="#ppd_file_t">ppd_file_t</a> *ppdOpen2 (<br>
@@ -1501,7 +1501,7 @@ float ppdPageLength (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Size record for page or NULL</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="ppdPageSizeLimits">ppdPageSizeLimits</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.4/OS X 10.6&nbsp;</span><a name="ppdPageSizeLimits">ppdPageSizeLimits</a></h3>
 <p class="description">Return the custom page size limits.</p>
 <p class="code">
 int ppdPageSizeLimits (<br>
@@ -1544,7 +1544,7 @@ float ppdPageWidth (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Width of page in points or 0.0</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.1.20/Mac OS X 10.4&nbsp;</span><a name="ppdSetConformance">ppdSetConformance</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.1.20/OS X 10.4&nbsp;</span><a name="ppdSetConformance">ppdSetConformance</a></h3>
 <p class="description">Set the conformance level for PPD files.</p>
 <p class="code">
 void ppdSetConformance (<br>
@@ -1556,7 +1556,7 @@ void ppdSetConformance (<br>
 <dd class="description">Conformance level</dd>
 </dl>
 <h2 class="title"><a name="TYPES">Data Types</a></h2>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ppd_attr_t">ppd_attr_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="ppd_attr_t">ppd_attr_t</a></h3>
 <p class="description">PPD Attribute Structure </p>
 <p class="code">
 typedef struct <a href="#ppd_attr_s">ppd_attr_s</a> ppd_attr_t;
@@ -1566,7 +1566,7 @@ typedef struct <a href="#ppd_attr_s">ppd_attr_s</a> ppd_attr_t;
 <p class="code">
 typedef struct <a href="#ppd_choice_s">ppd_choice_s</a> ppd_choice_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ppd_conform_t">ppd_conform_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="ppd_conform_t">ppd_conform_t</a></h3>
 <p class="description">Conformance Levels </p>
 <p class="code">
 typedef enum <a href="#ppd_conform_e">ppd_conform_e</a> ppd_conform_t;
@@ -1576,27 +1576,27 @@ typedef enum <a href="#ppd_conform_e">ppd_conform_e</a> ppd_conform_t;
 <p class="code">
 typedef struct <a href="#ppd_const_s">ppd_const_s</a> ppd_const_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppd_coption_t">ppd_coption_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppd_coption_t">ppd_coption_t</a></h3>
 <p class="description">Custom Option </p>
 <p class="code">
 typedef struct <a href="#ppd_coption_s">ppd_coption_s</a> ppd_coption_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppd_cparam_t">ppd_cparam_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppd_cparam_t">ppd_cparam_t</a></h3>
 <p class="description">Custom Parameter </p>
 <p class="code">
 typedef struct <a href="#ppd_cparam_s">ppd_cparam_s</a> ppd_cparam_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppd_cplimit_t">ppd_cplimit_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppd_cplimit_t">ppd_cplimit_t</a></h3>
 <p class="description">Custom Parameter Limit </p>
 <p class="code">
 typedef union <a href="#ppd_cplimit_u">ppd_cplimit_u</a> ppd_cplimit_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppd_cptype_t">ppd_cptype_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppd_cptype_t">ppd_cptype_t</a></h3>
 <p class="description">Custom Parameter Type </p>
 <p class="code">
 typedef enum ppd_cptype_e ppd_cptype_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppd_cpvalue_t">ppd_cpvalue_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppd_cpvalue_t">ppd_cpvalue_t</a></h3>
 <p class="description">Custom Parameter Value </p>
 <p class="code">
 typedef union <a href="#ppd_cpvalue_u">ppd_cpvalue_u</a> ppd_cpvalue_t;
@@ -1641,7 +1641,7 @@ typedef enum <a href="#ppd_section_e">ppd_section_e</a> ppd_section_t;
 <p class="code">
 typedef struct <a href="#ppd_size_s">ppd_size_s</a> ppd_size_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ppd_status_t">ppd_status_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="ppd_status_t">ppd_status_t</a></h3>
 <p class="description">Status Codes </p>
 <p class="code">
 typedef enum <a href="#ppd_status_e">ppd_status_e</a> ppd_status_t;
@@ -1652,7 +1652,7 @@ typedef enum <a href="#ppd_status_e">ppd_status_e</a> ppd_status_t;
 typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 </p>
 <h2 class="title"><a name="STRUCTURES">Structures</a></h2>
-<h3 class="struct"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ppd_attr_s">ppd_attr_s</a></h3>
+<h3 class="struct"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="ppd_attr_s">ppd_attr_s</a></h3>
 <p class="description">PPD Attribute Structure </p>
 <p class="code">struct ppd_attr_s {<br>
 &nbsp;&nbsp;&nbsp;&nbsp;char name[PPD_MAX_NAME];<br>
@@ -1712,7 +1712,7 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 <dt>option2[PPD_MAX_NAME] </dt>
 <dd class="description">Second keyword</dd>
 </dl>
-<h3 class="struct"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppd_coption_s">ppd_coption_s</a></h3>
+<h3 class="struct"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppd_coption_s">ppd_coption_s</a></h3>
 <p class="description">Custom Option </p>
 <p class="code">struct ppd_coption_s {<br>
 &nbsp;&nbsp;&nbsp;&nbsp;char keyword[PPD_MAX_NAME];<br>
@@ -1731,7 +1731,7 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 <dt>params </dt>
 <dd class="description">Parameters</dd>
 </dl>
-<h3 class="struct"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppd_cparam_s">ppd_cparam_s</a></h3>
+<h3 class="struct"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppd_cparam_s">ppd_cparam_s</a></h3>
 <p class="description">Custom Parameter </p>
 <p class="code">struct ppd_cparam_s {<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ppd_cpvalue_t">ppd_cpvalue_t</a> current;<br>
@@ -1886,13 +1886,13 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 <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">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>pcfilename <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</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">&nbsp;DEPRECATED&nbsp;</span></dt>
 <dd class="description">sRGB color profiles </dd>
-<dt>protocols <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>protocols <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">Protocols (BCP, TBCP) string </dd>
 <dt>shortnickname </dt>
 <dd class="description">Short version of nickname</dd>
@@ -1919,7 +1919,7 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 <dl>
 <dt>PPD_MAX_NAME] </dt>
 <dd class="description">Human-readable group name</dd>
-<dt>name[PPD_MAX_NAME] <span class="info">&nbsp;CUPS 1.1.18/Mac OS X 10.3&nbsp;</span></dt>
+<dt>name[PPD_MAX_NAME] <span class="info">&nbsp;CUPS 1.1.18/OS X 10.3&nbsp;</span></dt>
 <dd class="description">Group name </dd>
 <dt>num_options </dt>
 <dd class="description">Number of options</dd>
@@ -2018,7 +2018,7 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 <dd class="description">Width of media in points</dd>
 </dl>
 <h2 class="title"><a name="UNIONS">Unions</a></h2>
-<h3 class="union"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppd_cplimit_u">ppd_cplimit_u</a></h3>
+<h3 class="union"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppd_cplimit_u">ppd_cplimit_u</a></h3>
 <p class="description">Custom Parameter Limit </p>
 <p class="code">union ppd_cplimit_u {<br>
 &nbsp;&nbsp;&nbsp;&nbsp;float custom_curve;<br>
@@ -2049,7 +2049,7 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 <dt>custom_string </dt>
 <dd class="description">String length</dd>
 </dl>
-<h3 class="union"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="ppd_cpvalue_u">ppd_cpvalue_u</a></h3>
+<h3 class="union"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="ppd_cpvalue_u">ppd_cpvalue_u</a></h3>
 <p class="description">Custom Parameter Value </p>
 <p class="code">union ppd_cpvalue_u {<br>
 &nbsp;&nbsp;&nbsp;&nbsp;float custom_curve;<br>
@@ -2081,7 +2081,7 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 <dd class="description">String value</dd>
 </dl>
 <h2 class="title"><a name="ENUMERATIONS">Constants</a></h2>
-<h3 class="enumeration"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ppd_conform_e">ppd_conform_e</a></h3>
+<h3 class="enumeration"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="ppd_conform_e">ppd_conform_e</a></h3>
 <p class="description">Conformance Levels </p>
 <h4 class="constants">Constants</h4>
 <dl>
@@ -2124,7 +2124,7 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 <dt>PPD_ORDER_PROLOG </dt>
 <dd class="description">... must be in the Prolog section</dd>
 </dl>
-<h3 class="enumeration"><span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span><a name="ppd_status_e">ppd_status_e</a></h3>
+<h3 class="enumeration"><span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span><a name="ppd_status_e">ppd_status_e</a></h3>
 <p class="description">Status Codes </p>
 <h4 class="constants">Constants</h4>
 <dl>
index ebeb8d82941a3dfdbb65f71b532240cdefd6d8d4..706d1eb027ea8f88e56d94c63ea24907b02bdf22 100644 (file)
@@ -438,7 +438,7 @@ page header structure.">cupsRasterWriteHeader2</a></li>
 
   Raster API introduction for CUPS.
 
-  Copyright 2007-2011 by Apple Inc.
+  Copyright 2007-2012 by Apple Inc.
   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 
   These coded instructions, statements, and computer programs are the
@@ -457,7 +457,7 @@ avoid incompatibilities with newer versions of CUPS.</p>
 
 <p>Two kinds of CUPS filters use the CUPS raster API - raster image processor
 (RIP) filters such as <code>pstoraster</code> and <code>cgpdftoraster</code>
-(Mac OS X) that produce CUPS raster files and printer driver filters that
+(OS X) that produce CUPS raster files and printer driver filters that
 convert CUPS raster files into a format usable by the printer. Printer
 driver filters are by far the most common.</p>
 
@@ -577,7 +577,7 @@ the memory used to read the raster file:</p>
 
 <ul class="code">
 
-       <li><a href="#cupsRasterReadHeader" title="Read a raster page header and store it in a version 1 page header structure.">cupsRasterReadHeader</a> <span class="info">Deprecated in CUPS 1.2/Mac OS X 10.5</span></li>
+       <li><a href="#cupsRasterReadHeader" title="Read a raster page header and store it in a version 1 page header structure.">cupsRasterReadHeader</a> <span class="info">Deprecated in CUPS 1.2/OS X 10.5</span></li>
        <li><a href="#cupsRasterReadHeader2" title="Read a raster page header and store it in a version 2 page header structure.">cupsRasterReadHeader2</a></li>
        <li><a href="#cupsRasterReadPixels" title="Read raster pixels.">cupsRasterReadPixels</a></li>
 
@@ -588,10 +588,10 @@ the memory used to read the raster file:</p>
 <ul class="code">
 
        <li><a href="#cupsRasterInterpretPPD" title="Interpret PPD commands to create a page header.">cupsRasterInterpretPPD</a></li>
-       <li><a href="#cupsRasterWriteHeader" title="Write a raster page header from a version 1 page header structure.">cupsRasterWriteHeader</a> <span class="info">Deprecated in CUPS 1.2/Mac OS X 10.5</span></li>
+       <li><a href="#cupsRasterWriteHeader" title="Write a raster page header from a version 1 page header structure.">cupsRasterWriteHeader</a> <span class="info">Deprecated in CUPS 1.2/OS X 10.5</span></li>
        <li><a href="#cupsRasterWriteHeader2" title="Write a raster page header from a version 2 page header structure.">cupsRasterWriteHeader2</a></li>
        <li><a href="#cupsRasterWritePixels" title="Write raster pixels.">cupsRasterWritePixels</a></li>
-       
+
 </ul>
 <h2 class="title"><a name="FUNCTIONS">Functions</a></h2>
 <h3 class="function"><a name="cupsRasterClose">cupsRasterClose</a></h3>
@@ -608,7 +608,7 @@ void cupsRasterClose (<br>
 <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">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsRasterInterpretPPD">cupsRasterInterpretPPD</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsRasterInterpretPPD">cupsRasterInterpretPPD</a></h3>
 <p class="description">Interpret PPD commands to create a page header.</p>
 <p class="code">
 int cupsRasterInterpretPPD (<br>
@@ -743,7 +743,7 @@ of the version 2 page header data. This function handles reading version 2
 page headers and copying only the version 1 data into the provided buffer.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsRasterReadHeader2">cupsRasterReadHeader2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsRasterReadHeader2">cupsRasterReadHeader2</a></h3>
 <p class="description">Read a raster page header and store it in a
 version 2 page header structure.</p>
 <p class="code">
@@ -804,7 +804,7 @@ unsigned cupsRasterWriteHeader (<br>
 <p class="discussion">This function is deprecated. Use <a href="#cupsRasterWriteHeader2"><code>cupsRasterWriteHeader2</code></a> instead.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cupsRasterWriteHeader2">cupsRasterWriteHeader2</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cupsRasterWriteHeader2">cupsRasterWriteHeader2</a></h3>
 <p class="description">Write a raster page header from a version 2
 page header structure.</p>
 <p class="code">
@@ -899,7 +899,7 @@ typedef enum <a href="#cups_order_e">cups_order_e</a> cups_order_t;
 <p class="code">
 typedef enum <a href="#cups_orient_e">cups_orient_e</a> cups_orient_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cups_page_header2_t">cups_page_header2_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cups_page_header2_t">cups_page_header2_t</a></h3>
 <p class="description">Version 2 page header </p>
 <p class="code">
 typedef struct <a href="#cups_page_header2_s">cups_page_header2_s</a> cups_page_header2_t;
@@ -920,7 +920,7 @@ typedef ssize_t (*cups_raster_iocb_t)(void *ctx, unsigned char *buffer, size_t l
 typedef struct _cups_raster_s cups_raster_t;
 </p>
 <h2 class="title"><a name="STRUCTURES">Structures</a></h2>
-<h3 class="struct"><span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span><a name="cups_page_header2_s">cups_page_header2_s</a></h3>
+<h3 class="struct"><span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span><a name="cups_page_header2_s">cups_page_header2_s</a></h3>
 <p class="description">Version 2 page header </p>
 <p class="code">struct cups_page_header2_s {<br>
 &nbsp;&nbsp;&nbsp;&nbsp;unsigned AdvanceDistance;<br>
@@ -1033,7 +1033,7 @@ typedef struct _cups_raster_s cups_raster_t;
 <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">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>cupsBorderlessScalingFactor <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</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>
@@ -1045,26 +1045,26 @@ typedef struct _cups_raster_s cups_raster_t;
 <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">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>cupsImagingBBox[4] <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Floating point ImagingBoundingBox
 (scaling factor not applied, left,
 bottom, right, top) </dd>
-<dt>cupsInteger[16] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>cupsInteger[16] <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">User-defined integer values </dd>
-<dt>cupsMarkerType[64] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>cupsMarkerType[64] <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Ink/toner type </dd>
 <dt>cupsMediaType </dt>
 <dd class="description">Media type code</dd>
-<dt>cupsNumColors <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>cupsNumColors <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Number of color compoents </dd>
-<dt>cupsPageSizeName[64] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>cupsPageSizeName[64] <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">PageSize name </dd>
-<dt>cupsPageSize[2] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>cupsPageSize[2] <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Floating point PageSize (scaling *
 factor not applied) </dd>
-<dt>cupsReal[16] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>cupsReal[16] <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">User-defined floating-point values </dd>
-<dt>cupsRenderingIntent[64] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>cupsRenderingIntent[64] <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Color rendering intent </dd>
 <dt>cupsRowCount </dt>
 <dd class="description">Rows per band</dd>
@@ -1072,7 +1072,7 @@ factor not applied) </dd>
 <dd class="description">Feed between bands</dd>
 <dt>cupsRowStep </dt>
 <dd class="description">Spacing between lines</dd>
-<dt>cupsString[16][64] <span class="info">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>cupsString[16][64] <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">User-defined string values </dd>
 <dt>cupsWidth </dt>
 <dd class="description">Width of page image in pixels</dd>
@@ -1232,9 +1232,9 @@ factor not applied) </dd>
 <dl>
 <dt>CUPS_CSPACE_ADOBERGB <span class="info">&nbsp;CUPS 1.4.5&nbsp;</span></dt>
 <dd class="description">Red, green, blue (Adobe RGB) </dd>
-<dt>CUPS_CSPACE_CIELab <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_CIELab <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">CIE Lab </dd>
-<dt>CUPS_CSPACE_CIEXYZ <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_CIEXYZ <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">CIE XYZ </dd>
 <dt>CUPS_CSPACE_CMY </dt>
 <dd class="description">Cyan, magenta, yellow (DeviceCMY)</dd>
@@ -1276,35 +1276,35 @@ factor not applied) </dd>
 <dd class="description">Gold, magenta, yellow, silver </dd>
 <dt>CUPS_CSPACE_GOLD <span class="info">&nbsp;DEPRECATED&nbsp;</span></dt>
 <dd class="description">Gold foil </dd>
-<dt>CUPS_CSPACE_ICC1 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICC1 <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 1 color </dd>
-<dt>CUPS_CSPACE_ICC2 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICC2 <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 2 colors </dd>
-<dt>CUPS_CSPACE_ICC3 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICC3 <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 3 colors </dd>
-<dt>CUPS_CSPACE_ICC4 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICC4 <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 4 colors </dd>
-<dt>CUPS_CSPACE_ICC5 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICC5 <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 5 colors </dd>
-<dt>CUPS_CSPACE_ICC6 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICC6 <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 6 colors </dd>
-<dt>CUPS_CSPACE_ICC7 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICC7 <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 7 colors </dd>
-<dt>CUPS_CSPACE_ICC8 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICC8 <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 8 colors </dd>
-<dt>CUPS_CSPACE_ICC9 <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICC9 <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 9 colors </dd>
-<dt>CUPS_CSPACE_ICCA <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICCA <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 10 colors </dd>
-<dt>CUPS_CSPACE_ICCB <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICCB <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 11 colors </dd>
-<dt>CUPS_CSPACE_ICCC <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICCC <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 12 colors </dd>
-<dt>CUPS_CSPACE_ICCD <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICCD <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 13 colors </dd>
-<dt>CUPS_CSPACE_ICCE <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICCE <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 14 colors </dd>
-<dt>CUPS_CSPACE_ICCF <span class="info">&nbsp;CUPS 1.1.19/Mac OS X 10.3&nbsp;</span></dt>
+<dt>CUPS_CSPACE_ICCF <span class="info">&nbsp;CUPS 1.1.19/OS X 10.3&nbsp;</span></dt>
 <dd class="description">ICC-based, 15 colors </dd>
 <dt>CUPS_CSPACE_K </dt>
 <dd class="description">Black (DeviceK)</dd>
@@ -1316,7 +1316,7 @@ factor not applied) </dd>
 <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">&nbsp;CUPS 1.2/Mac OS X 10.5&nbsp;</span></dt>
+<dt>CUPS_CSPACE_RGBW <span class="info">&nbsp;CUPS 1.2/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Red, green, blue, white (DeviceRGB, sRGB by default) </dd>
 <dt>CUPS_CSPACE_SILVER <span class="info">&nbsp;DEPRECATED&nbsp;</span></dt>
 <dd class="description">Silver foil </dd>
@@ -1382,9 +1382,9 @@ factor not applied) </dd>
 <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">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span></dt>
+<dt>CUPS_RASTER_WRITE_COMPRESSED <span class="info">&nbsp;CUPS 1.3/OS X 10.5&nbsp;</span></dt>
 <dd class="description">Open stream for compressed writing </dd>
-<dt>CUPS_RASTER_WRITE_PWG <span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span></dt>
+<dt>CUPS_RASTER_WRITE_PWG <span class="info">&nbsp;CUPS 1.5/OS X 10.7&nbsp;</span></dt>
 <dd class="description">Open stream for compressed writing in PWG mode </dd>
 </dl>
 <h3 class="enumeration"><a name="cups_order_e">cups_order_e</a></h3>
index cb8b88c29de6d2dac4c17ea54ba2e1d78cccf07b..30fb53364f0318322268cf0a0bc360348ac90dcf 100644 (file)
@@ -46,7 +46,7 @@ DNS server(s).</li>
        <LI><A HREF="http://web.mit.edu/kerberos/">Kerberos: The Network Authentication Protocol</A></LI>
 
        <LI><A HREF="http://web.mit.edu/macdev/KfM/Common/Documentation/faq-osx.html">Kerberos
-       on Mac OS X Frequently Asked Questions</A></LI>
+       on OS X Frequently Asked Questions</A></LI>
 
 </UL>
 
index 2b7c2460f7123fe987f73b9ae781eedd5fcbd737..9bbc729edf19a661e4b73921482ad58acb9618e8 100644 (file)
@@ -8,7 +8,7 @@
 
 <H1 CLASS="title">Software License Agreement</H1>
 
-<P ALIGN="CENTER">Copyright 2007-2011 by Apple Inc.<BR>
+<P ALIGN="CENTER">Copyright 2007-2012 by Apple Inc.<BR>
 1 Infinite Loop<BR>
 Cupertino, CA 95014 USA<BR>
 <BR>
@@ -91,11 +91,10 @@ the following special exceptions:</P>
 
                <LI>An Apple Operating System means any
                operating system software developed and/or
-               marketed by Apple Computer, Inc., including but
-               not limited to all existing releases and
-               versions of Apple's Darwin, Mac OS X, and Mac OS
-               X Server products and all follow-on releases and
-               future versions thereof.</LI>
+               marketed by Apple Inc., including but not limited
+               to all existing releases and versions of Apple's
+               Darwin, OS X, and OS X Server products and all
+               follow-on releases and future versions thereof.</LI>
 
                <LI>This exception is only available for Apple
                OS-Developed Software and does not apply to
index ce090951d6755c11f63e8d30a632224e5076938f..1b523c537d122c52a66c6422acaacfc714cd2053 100644 (file)
@@ -122,12 +122,25 @@ Get a list of completed jobs for "myprinter":
 <h2 class="title"><a name="STANDARD_FILES">Standard Files</a></h2>
 The following standard files are available:
 <pre>
+    color.jpg
     create-printer-subscription.test
+    document-a4.pdf
+    document-a4.ps
+    document-letter.pdf
+    document-letter.ps
     get-completed-jobs.test
     get-jobs.test
+    get-printer-attributes.test
+    gray.jpg
     ipp-1.1.test
     ipp-2.0.test
     ipp-2.1.test
+    ipp-2.2.test
+    onepage-a4.pdf
+    onepage-a4.ps
+    onepage-letter.pdf
+    onepage-letter.ps
+    print-job.test
     testfile.jpg
     testfile.pdf
     testfile.ps
@@ -138,7 +151,7 @@ The following standard files are available:
 <br>
 <a href='http://localhost:631/help'>http://localhost:631/help</a>
 <h2 class="title"><a name="COPYRIGHT">Copyright</a></h2>
-Copyright 2007-2010 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 
 </body>
 </html>
index d02d4f4036cef12fd48bf1efbef134369811d2e9..6743651f7fa401ab31e2ffd9f648389618f5b0c4 100644 (file)
@@ -397,21 +397,19 @@ lpd://<i>username@ip-address-or-hostname</i>/<i>queue</i>?<i>option=value&option
 
 <H2 CLASS="title"><A NAME="SNMP">Troubleshooting SNMP Discovery Problems</A></H2>
 
-<P>Whenever you view the administration web page or a list of supported device URIs, the <tt>snmp</tt> backend will probe the local network(s) using Simple Network Management Protocol (SNMP) broadcasts. Printers that respond to these broadcasts are then interrogated for the make and model and supported protocols, yielding a device URI that can be used to add the printer.</P> 
+<P>Whenever you view the administration web page or a list of supported device URIs, the <tt>snmp</tt> backend can probe the local network(s) using Simple Network Management Protocol (SNMP) v1 broadcasts. Printers that respond to these broadcasts are then interrogated for the make, model, and supported protocols, yielding a device URI that can be used to add the printer.</P>
 
-<P>That said, the SNMP requests sometimes expose problems in vendor SNMP or IPP implementations. If you are experiencing long delays in loading the CUPS web interface administration page, or if you don't see your printer listed, the following instructions will help you to diagnose those problems and/or provide important feedback to the CUPS developers so that we can correct problems and improve the SNMP backend in future releases.</P>
+<P>That said, the SNMP requests sometimes expose problems in vendor implementations. If you are experiencing long delays in loading the CUPS web interface administration page, or if you don't see your printer listed, the following instructions will help you to diagnose those problems and/or provide important feedback to the CUPS developers so that we can correct problems and improve the SNMP backend in future releases.</P>
 
 <H3>Quick Fixes</H3>
 
-<P>If you don't use "public" as your community name, create a text file called <VAR>/etc/cups/snmp.conf</VAR> and put the following line in it:</P>
+<P>If you don't use "public" as your community name, edit or create (as needed) a text file called <VAR>/etc/cups/snmp.conf</VAR> and put the following line in it:</P>
 
 <PRE CLASS="command">
 Community <I>your community name</I>
 </PRE>
 
-<P>If you have more than one community name, list them all on separate lines.</P>
-
-<P>If you don't support SNMP v1 on your network, you are currently "out of luck". That said, we will be adding v2, v2c, and v3 support in future CUPS releases once we have a handle on the actual requirements people have for such things. Please file or update an <A HREF="http://www.cups.org/str.php">SNMP enhancement request</A> with <em>specific</em> requirements you have - what you need supported, why you need it supported, and how you would like to see the functionality provided/exposed - so that we can do it "right" the first time.</P>
+<P>The SNMP backend will not be able to find any printers on your network if SNMP v1 or broadcasting are not supported on your network.</P>
 
 <H3>Basic Debugging</H3>
 
index bef1a18af6e1a973ef12ebd0501a289ce319ecf0..fde5890befbeb979e7769c127426be2aa5e6e615 100644 (file)
@@ -345,7 +345,7 @@ div.contents ul.subcontents li {
 
   PostScript printer driver documentation for CUPS.
 
-  Copyright 2007-2010 by Apple Inc.
+  Copyright 2007-2012 by Apple Inc.
   Copyright 1997-2007 by Easy Software Products.
 
   These coded instructions, statements, and computer programs are the
@@ -357,7 +357,7 @@ div.contents ul.subcontents li {
 
 <h1 class='title'>Developing PostScript Printer Drivers</h1>
 
-<p>This document describes how to develop printer drivers for PostScript printers. Topics include: <a href='#BASICS'>printer driver basics</a>, <a href='#CREATE'>creating new PPD files</a>, <a href='#IMPORT'>importing existing PPD files</a>, <a href='#FILTERS'>using custom filters</a>, <a href='#COLOR'>implementing color management</a>, and <a href='#MACOSX'>adding Mac OS X features</a>.</p>
+<p>This document describes how to develop printer drivers for PostScript printers. Topics include: <a href='#BASICS'>printer driver basics</a>, <a href='#CREATE'>creating new PPD files</a>, <a href='#IMPORT'>importing existing PPD files</a>, <a href='#FILTERS'>using custom filters</a>, <a href='#COLOR'>implementing color management</a>, and <a href='#MACOSX'>adding OS X features</a>.</p>
 
 <div class='summary'><table summary='General Information'>
 <tbody>
@@ -380,7 +380,7 @@ div.contents ul.subcontents li {
 </ul></li>
 <li><a href="#FILTERS">Using Custom Filters</a></li>
 <li><a href="#COLOR">Implementing Color Management</a></li>
-<li><a href="#MACOSX">Adding Mac OS X Features</a></li>
+<li><a href="#MACOSX">Adding OS X Features</a></li>
 </ul>
 <h2 class='title'><a name='BASICS'>Printer Driver Basics</a></h2>
 
@@ -453,7 +453,7 @@ div.contents ul.subcontents li {
               dup [612 792] (Letter) put
               dup [612 1008] (Legal) put
               dup [595 842] (A4) put
-              {exch aload pop 4 index sub abs 5 le exch 
+              {exch aload pop 4 index sub abs 5 le exch
                5 index sub abs 5 le and
               {exch pop exit} {pop} ifelse
       } bind forall = flush pop pop
@@ -550,7 +550,7 @@ div.contents ul.subcontents li {
               dup [612 792] (Letter) put
               dup [612 1008] (Legal) put
               dup [595 842] (A4) put
-              {exch aload pop 4 index sub abs 5 le exch 
+              {exch aload pop 4 index sub abs 5 le exch
                5 index sub abs 5 le and
               {exch pop exit} {pop} ifelse
       } bind forall = flush pop pop
@@ -648,9 +648,9 @@ information file.</P>
 <p>The options used for profile selection can be customized using the <tt>cupsICCQualifier2</tt> and <tt>cupsICCQualifier3</tt> attributes.</p>
 
 
-<h2 class='title'><a name='MACOSX'>Adding Mac OS X Features</a></h2>
+<h2 class='title'><a name='MACOSX'>Adding OS X Features</a></h2>
 
-<p>Mac OS X printer drivers can provide <a href='spec-ppd.html#MACOSX'>additional attributes</a> to specify additional option panes in the print dialog, an image of the printer, a help book, and option presets for the driver software:</p>
+<p>OS X printer drivers can provide <a href='spec-ppd.html#MACOSX'>additional attributes</a> to specify additional option panes in the print dialog, an image of the printer, a help book, and option presets for the driver software:</p>
 
 <pre class='example'>
 <a href='ref-ppdcfile.html#Attribute'>Attribute</a> APDialogExtension "" /Library/Printers/Vendor/filename.plugin
index b946ff6521a302072dda02432d14253771629dbd..27decdbbb769d1b8301c801041532f1aa3d5a595 100644 (file)
@@ -604,7 +604,7 @@ follows:</P>
 
        <LI>Bits per color. In the example file, we define 8 bits per color, for
        a continuous-tone grayscale output. All versions of CUPS support 1 and
-       8 bits per color.  CUPS 1.2 and higher (Mac OS X 10.5 and higher) also
+       8 bits per color.  CUPS 1.2 and higher (OS X 10.5 and higher) also
        supports 16 bits per color.</LI>
 
        <LI>Rows per band. In the example file, we define 0 rows per band to
index 5264c1453c0b77db2153d28346ebc1a27155ea51..0399f057c438e23f97b0524a31b78765617231fd 100644 (file)
@@ -345,7 +345,7 @@ div.contents ul.subcontents li {
 
   Raster printer driver documentation for CUPS.
 
-  Copyright 2007-2010 by Apple Inc.
+  Copyright 2007-2012 by Apple Inc.
   Copyright 1997-2007 by Easy Software Products.
 
   These coded instructions, statements, and computer programs are the
@@ -357,7 +357,7 @@ div.contents ul.subcontents li {
 
 <h1 class='title'>Developing Raster Printer Drivers</h1>
 
-<p>This document describes how to develop printer drivers for raster printers. Topics include: <a href='#BASICS'>printer driver basics</a>, <a href='#CREATE'>creating new PPD files</a>, <a href='#FILTERS'>using filters</a>, <a href='#COLOR'>implementing color management</a>, and <a href='#MACOSX'>adding Mac OS X features</a>.</p>
+<p>This document describes how to develop printer drivers for raster printers. Topics include: <a href='#BASICS'>printer driver basics</a>, <a href='#CREATE'>creating new PPD files</a>, <a href='#FILTERS'>using filters</a>, <a href='#COLOR'>implementing color management</a>, and <a href='#MACOSX'>adding OS X features</a>.</p>
 
 <div class='summary'><table summary='General Information'>
 <tbody>
@@ -378,7 +378,7 @@ div.contents ul.subcontents li {
 <li><a href="#CREATING">Creating New PPD Files</a></li>
 <li><a href="#FILTERS">Using Filters</a></li>
 <li><a href="#COLOR">Implementing Color Management</a></li>
-<li><a href="#MACOSX">Adding Mac OS X Features</a></li>
+<li><a href="#MACOSX">Adding OS X Features</a></li>
 </ul>
 <h2 class='title'><a name='BASICS'>Printer Driver Basics</a></h2>
 
@@ -554,9 +554,9 @@ div.contents ul.subcontents li {
 
 <p>The options used for profile selection can be customized using the <tt>cupsICCQualifier2</tt> and <tt>cupsICCQualifier3</tt> attributes.</p>
 
-<h3><span class='info'>Since Mac OS X 10.5</span>Custom Color Matching Support</h3>
+<h3><span class='info'>Since OS X 10.5</span>Custom Color Matching Support</h3>
 
-<p>Mac OS X printer drivers that are based on an existing standard RGB colorspace can tell the system to use the corresponding colorspace instead of an arbitrary ICC color profile when doing color management. The <a href='#APCustom'><tt>APSupportsCustomColorMatching</tt></a> and <tt>APDefaultCustomColorMatchingProfile</tt> attributes can be used to enable this mode:</p>
+<p>OS X printer drivers that are based on an existing standard RGB colorspace can tell the system to use the corresponding colorspace instead of an arbitrary ICC color profile when doing color management. The <a href='#APCustom'><tt>APSupportsCustomColorMatching</tt></a> and <tt>APDefaultCustomColorMatchingProfile</tt> attributes can be used to enable this mode:</p>
 
 <pre class='example'>
 <a href='ref-ppdcfile.html#Attribute'>Attribute</a> APSupportsCustomColorMatching "" true
@@ -564,9 +564,9 @@ div.contents ul.subcontents li {
 </pre>
 
 
-<h2 class='title'><a name='MACOSX'>Adding Mac OS X Features</a></h2>
+<h2 class='title'><a name='MACOSX'>Adding OS X Features</a></h2>
 
-<p>Mac OS X printer drivers can provide <a href='spec-ppd.html#MACOSX'>additional attributes</a> to specify additional option panes in the print dialog, an image of the printer, a help book, and option presets for the driver software:</p>
+<p>OS X printer drivers can provide <a href='spec-ppd.html#MACOSX'>additional attributes</a> to specify additional option panes in the print dialog, an image of the printer, a help book, and option presets for the driver software:</p>
 
 <pre class='example'>
 <a href='ref-ppdcfile.html#Attribute'>Attribute</a> APDialogExtension "" /Library/Printers/Vendor/filename.plugin
index 40bc3d5e27ef804d8fb0f7ee94408e08e15c9a71..4171bb26d650aa76e94f420ee1fb229f036bae54 100644 (file)
@@ -171,7 +171,7 @@ HREF="#AllowUser"><CODE>AllowUser</CODE></A></P>
 
 <H3>Description</H3>
 
-<P>The <CODE>Info</CODE> directive defines the string for the 
+<P>The <CODE>Info</CODE> directive defines the string for the
 <VAR>printer-info</VAR> attribute. It is normally set using the
 <CODE>lpadmin(8)</CODE> command:</P>
 
@@ -260,7 +260,7 @@ section.</P>
 
 <H3>Description</H3>
 
-<P>The <CODE>KLimit</CODE> directive defines the value of the 
+<P>The <CODE>KLimit</CODE> directive defines the value of the
 <VAR>job-k-limit</VAR> attribute. It is normally set using the
 <CODE>lpadmin(8)</CODE> command:</P>
 
@@ -287,7 +287,7 @@ section.</P>
 
 <H3>Description</H3>
 
-<P>The <CODE>Location</CODE> directive defines the string for the 
+<P>The <CODE>Location</CODE> directive defines the string for the
 <VAR>printer-location</VAR> attribute. It is normally set using the
 <CODE>lpadmin(8)</CODE> command:</P>
 
@@ -372,7 +372,7 @@ section.</P>
 
 <H3>Description</H3>
 
-<P>The <CODE>PageLimit</CODE> directive defines the value of the 
+<P>The <CODE>PageLimit</CODE> directive defines the value of the
 <VAR>job-page-limit</VAR> attribute. It can be set using the
 <CODE>lpadmin(8)</CODE> command:</P>
 
@@ -511,7 +511,7 @@ section.</P>
 <PRE CLASS="command">
 &lt;Class name&gt;
   ...
-  StateMessage Ready to print.
+  StateMessage Class is lonely.
 &lt;/Class&gt;
 </PRE>
 
@@ -528,7 +528,6 @@ StateMessage Network host host_name is busy; will retry in 30 seconds...
 StateMessage Class busy; will retry in 10 seconds...
 StateMessage Class is busy; retrying print job...
 StateMessage Print file accepted - job ID id_number.
-StateMessage Ready to print.
 StateMessage Waiting for job to complete
 </PRE>
 
index a69b568d3c5c15be48787a60badad882430a3ce6..f17d5407473e062d826d90e8507f04b4bde88ab2 100644 (file)
@@ -34,7 +34,7 @@ encryption settings for the client.</P>
 <P>The default setting is <VAR>IfRequested</VAR>.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.6</SPAN><A NAME="GSSServiceName">GSSServiceName</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.6/OS X 10.8</SPAN><A NAME="GSSServiceName">GSSServiceName</A></H2>
 
 <H3>Examples</H3>
 
@@ -68,11 +68,11 @@ ServerName foo.bar.com:8631
 
 <BLOCKQUOTE><B>Note:</B>
 <P>Only one <CODE>ServerName</CODE> directive may appear. If multiple names are
-present, only the last one is used. This directive is not supported on Mac OS X 10.7 or later.</P>
+present, only the last one is used. This directive is not supported on OS X 10.7 or later.</P>
 </BLOCKQUOTE>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.6</SPAN><A NAME="User">User</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.6/OS X 10.8</SPAN><A NAME="User">User</A></H2>
 
 <H3>Examples</H3>
 
index ef666f32d85a6e4a0867a39692dfc3e2ea9daf78..ef697d5d157f8f6b621a1223c26ac432972f8ec4 100644 (file)
@@ -44,7 +44,7 @@ automatically handles restarting the scheduler.</P>
 
 <BLOCKQUOTE><B>Note:</B>
 
-<P>The specification of time units ("w" for weeks, "h" for hours, etc.) in the various time interval directives is new in CUPS 1.6. Prior releases of CUPS only supported time intervals in seconds.</P>
+<P>The specification of time units ("w" for weeks, "h" for hours, etc.) in the various time interval directives is new in CUPS 1.6/OS X 10.8. Prior releases of CUPS only supported time intervals in seconds.</P>
 
 </BLOCKQUOTE>
 
@@ -341,7 +341,7 @@ quotas. This option has no effect if quotas are not enabled. The
 default setting is <CODE>No</CODE>.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="BrowseLocalProtocols">BrowseLocalProtocols</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/OS X 10.5</SPAN><A NAME="BrowseLocalProtocols">BrowseLocalProtocols</A></H2>
 
 <H3>Examples</H3>
 
@@ -470,7 +470,7 @@ DataDir /usr/share/cups
 for data files.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="DefaultAuthType">DefaultAuthType</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/OS X 10.5</SPAN><A NAME="DefaultAuthType">DefaultAuthType</A></H2>
 
 <H3>Examples</H3>
 
@@ -488,7 +488,7 @@ of authentication to use for IPP operations that require a
 username. The default is <CODE>Basic</CODE>.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="DefaultEncryption">DefaultEncryption</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/OS X 10.5</SPAN><A NAME="DefaultEncryption">DefaultEncryption</A></H2>
 
 <H3>Examples</H3>
 
@@ -526,7 +526,7 @@ language localization file exists for it. The default language
 is "en" for English.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/Mac OS X 10.6</SPAN><A NAME="DefaultPaperSize">DefaultPaperSize</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/OS X 10.6</SPAN><A NAME="DefaultPaperSize">DefaultPaperSize</A></H2>
 
 <H3>Examples</H3>
 
@@ -546,7 +546,7 @@ of <CODE>None</CODE> tells the scheduler to not set the default paper
 size.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="DefaultPolicy">DefaultPolicy</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/OS X 10.5</SPAN><A NAME="DefaultPolicy">DefaultPolicy</A></H2>
 
 <H3>Examples</H3>
 
@@ -565,7 +565,7 @@ policy to use for IPP operation. The default is
 and other job operations.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="DefaultShared">DefaultShared</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/OS X 10.5</SPAN><A NAME="DefaultShared">DefaultShared</A></H2>
 
 <H3>Examples</H3>
 
@@ -633,7 +633,7 @@ HREF="#Location"><CODE>Location</CODE></A> or <A
 HREF="#Limit"><CODE>Limit</CODE></A> section.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/Mac OS X 10.6</SPAN><A NAME="DirtyCleanInterval">DirtyCleanInterval</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/OS X 10.6</SPAN><A NAME="DirtyCleanInterval">DirtyCleanInterval</A></H2>
 
 <H3>Examples</H3>
 
@@ -726,7 +726,7 @@ default error log file is <VAR>@CUPS_LOGDIR@/error_log</VAR>.</P>
 information to the system log instead of a plain file.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.3/Mac OS X 10.5</SPAN><A NAME="ErrorPolicy">ErrorPolicy</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.3/OS X 10.5</SPAN><A NAME="ErrorPolicy">ErrorPolicy</A></H2>
 
 <H3>Examples</H3>
 
@@ -765,7 +765,7 @@ printer.</P>
 
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/Mac OS X 10.6</SPAN><A NAME="FatalErrors">FatalErrors</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/OS X 10.6</SPAN><A NAME="FatalErrors">FatalErrors</A></H2>
 
 <H3>Examples</H3>
 
@@ -926,7 +926,7 @@ system-specific but is usually <CODE>lp</CODE> or
 <CODE>nobody</CODE>.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.6</SPAN><A NAME="GSSServiceName">GSSServiceName</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.6/OS X 10.8</SPAN><A NAME="GSSServiceName">GSSServiceName</A></H2>
 
 <H3>Examples</H3>
 
@@ -1025,7 +1025,7 @@ to make private. The "default" values are "job-name",
 HREF="#Policy"><CODE>Policy</CODE></A> section.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="JobRetryInterval">JobRetryInterval</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/OS X 10.5</SPAN><A NAME="JobRetryInterval">JobRetryInterval</A></H2>
 
 <H3>Examples</H3>
 
@@ -1044,7 +1044,7 @@ JobRetryInterval 30
 <P>The default is <CODE>30</CODE> (30 seconds).</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/Mac OS X 10.6</SPAN><A NAME="JobKillDelay">JobKillDelay</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/OS X 10.6</SPAN><A NAME="JobKillDelay">JobKillDelay</A></H2>
 
 <H3>Examples</H3>
 
@@ -1063,7 +1063,7 @@ JobKillDelay 30
 <P>The default is <CODE>30</CODE> (30 seconds).</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="JobRetryLimit">JobRetryLimit</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/OS X 10.5</SPAN><A NAME="JobRetryLimit">JobRetryLimit</A></H2>
 
 <H3>Examples</H3>
 
@@ -1150,7 +1150,7 @@ The request type names are case-sensitive for compatibility with
 Apache.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="LimitIPP">Limit (Policy)</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/OS X 10.5</SPAN><A NAME="LimitIPP">Limit (Policy)</A></H2>
 
 <H3>Examples</H3>
 
@@ -1690,7 +1690,7 @@ copies to 100.</P>
 </BLOCKQUOTE>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.6</SPAN><A NAME="MaxHoldTime">MaxHoldTime</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.6/OS X 10.8</SPAN><A NAME="MaxHoldTime">MaxHoldTime</A></H2>
 
 <H3>Examples</H3>
 
@@ -1774,7 +1774,7 @@ active jobs is completed, stopped, aborted, or canceled.</P>
 default setting is 0.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.6</SPAN><A NAME="MaxJobTime">MaxJobTime</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.6/OS X 10.8</SPAN><A NAME="MaxJobTime">MaxJobTime</A></H2>
 
 <H3>Examples</H3>
 
@@ -1838,7 +1838,7 @@ HREF="#LimitRequestBody"><CODE>LimitRequestBody</CODE></A>
 directive instead.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/Mac OS X 10.6</SPAN><A NAME="MultipleOperationTimeout">MultipleOperationTimeout</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/OS X 10.6</SPAN><A NAME="MultipleOperationTimeout">MultipleOperationTimeout</A></H2>
 
 <H3>Examples</H3>
 
@@ -1960,7 +1960,7 @@ recognized:</P>
 <P>The default is "%p %u %j %T %P %C %{job-billing} %{job-originating-host-name} %{job-name} %{media} %{sides}".</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="PassEnv">PassEnv</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/OS X 10.5</SPAN><A NAME="PassEnv">PassEnv</A></H2>
 
 <H3>Examples</H3>
 
@@ -1979,7 +1979,7 @@ scheduler only passes the <CODE>DYLD_LIBRARY_PATH</CODE>,
 environment variables to child processes.</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="Policy">Policy</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/OS X 10.5</SPAN><A NAME="Policy">Policy</A></H2>
 
 <H3>Examples</H3>
 
@@ -2135,7 +2135,7 @@ PrintcapFormat plist
 <H3>Description</H3>
 
 <P>The <CODE>PrintcapFormat</CODE> directive controls the output format of the
-printcap file. The default is to generate the plist format on Mac OS X, the
+printcap file. The default is to generate the plist format on OS X, the
 Solaris format on Solaris, and the BSD format on other operating systems.</P>
 
 
@@ -2516,7 +2516,7 @@ the text that is returned. The default is
 </TABLE></DIV>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="SetEnv">SetEnv</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/OS X 10.5</SPAN><A NAME="SetEnv">SetEnv</A></H2>
 
 <H3>Examples</H3>
 
@@ -2695,7 +2695,7 @@ to wait before an active HTTP or IPP request times out in seconds (no suffix), m
 <P>The default timeout is <CODE>5m</CODE> (five minutes).</P>
 
 
-<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/Mac OS X 10.5</SPAN><A NAME="UseNetworkDefault">UseNetworkDefault</A></H2>
+<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.2/OS X 10.5</SPAN><A NAME="UseNetworkDefault">UseNetworkDefault</A></H2>
 
 <H3>Examples</H3>
 
index c3967f1c235215b51eff3cbc6b92e167e358d417..1c77a7356855b3db36eab48da9490daa2f2c62b9 100644 (file)
@@ -148,7 +148,7 @@ and the underscore. The value can be any valid expression.</p>
 ...
 #else
 ...
-#endif 
+#endif
 </pre>
 
 <h3>Description</h3>
@@ -181,7 +181,7 @@ corresponding <a href="#_if"><code>#if</code></a> directive.</p>
 ...
 #else
 ...
-#endif 
+#endif
 </pre>
 
 <h3>Description</h3>
@@ -215,7 +215,7 @@ expressions are non-zero.</p>
 ...
 #else
 ...
-#endif 
+#endif
 </pre>
 
 <h3>Description</h3>
@@ -302,7 +302,7 @@ defining the standard raster fonts in the
 ...
 #else
 ...
-#endif 
+#endif
 </pre>
 
 <h3>Description</h3>
@@ -405,7 +405,7 @@ suffixes:</p>
 
 </ul>
 
-<p>Points are assumed if no units are specified. 
+<p>Points are assumed if no units are specified.
 
 <h3>See Also</h3>
 
@@ -434,7 +434,7 @@ suffixes:</p>
 <p>The <code>#po</code> directive defines a message catalog to use for the
 given POSIX language abbreviation. Multiple <code>#po</code> directives can be
 specified to list multiple catalogs. The filename can be an absolute path or
-relative to the driver information file. GNU gettext and Mac OS X .strings
+relative to the driver information file. GNU gettext and OS X .strings
 files are supported.</p>
 
 
@@ -1111,7 +1111,7 @@ Adobe PPD file specification.</p>
 either the word <code>ROM</code> or <code>Disk</code>.</p>
 
 <p>Device fonts differ from fonts defined using the <a
-href='#_font'><code>#font</code></a> directive in that they are 
+href='#_font'><code>#font</code></a> directive in that they are
 automatically associated with the current driver. Fonts defined
 using <code>#font</code> may be imported into the current driver
 using the <code>Font *</code> form of this directive.</p>
@@ -1597,7 +1597,7 @@ Option <i>"name/text" type section order</i>
 
 <pre>
 Option Punch Boolean AnySetup 10
-Option "fooFinish/Finishing Option" PickOne DocumentSetup 10 
+Option "fooFinish/Finishing Option" PickOne DocumentSetup 10
 </pre>
 
 <h3>Description</h3>
@@ -1798,7 +1798,7 @@ SimpleColorProfile 720dpi/Glossy 100 90 120 1.5 -5 5 10
 <h3>Description</h3>
 
 <p>The <code>SimpleColorProfile</code> directive creates a
-matrix-based <a href="#ColorProfile"><code>ColorProfile</code></a>. 
+matrix-based <a href="#ColorProfile"><code>ColorProfile</code></a>.
 The resolution and mediatype arguments specify the
 <code>Resolution</code> and <code>MediaType</code> choices which use the
 profile; the hyphen (<code>-</code>) is used to specify that any
@@ -2414,8 +2414,8 @@ supported keywords for each type.</p>
 
        <BR>&nbsp;
 
-       <BR><A NAME="REF_COLOR_APPLE">*</A> = This colorspace is not supported on Mac OS X prior to 10.4.
-       <BR><A NAME="REF_COLOR_APPLE2">**</A> = This colorspace is not supported on Mac OS X.</LI>
+       <BR><A NAME="REF_COLOR_APPLE">*</A> = This colorspace is not supported on OS X prior to 10.4.
+       <BR><A NAME="REF_COLOR_APPLE2">**</A> = This colorspace is not supported on OS X.</LI>
 
 </UL>
 
@@ -2441,7 +2441,7 @@ supported keywords for each type.</p>
        <BR><A NAME="REF_COLOR_APPLE2">*</A> = This color order
        is not supported by the current Apple RIP filters and
        should not be used when developing printer drivers for
-       Mac OS X.</LI>
+       OS X.</LI>
 
 </UL>
 
index 9568fc7c83bc4c6b16dd166eb958af1a56f38182..bb44c4c68f25443eb24b756ab4b53e7c81345c9e 100644 (file)
@@ -151,7 +151,7 @@ HREF="#AllowUser"><CODE>AllowUser</CODE></A></P>
 
 <H3>Description</H3>
 
-<P>The <CODE>DeviceURI</CODE> directive defines the value of the 
+<P>The <CODE>DeviceURI</CODE> directive defines the value of the
 <VAR>device-uri-attribute</VAR> attribute. It is normally set
 using the <CODE>lpadmin(8)</CODE> command:</P>
 
@@ -248,7 +248,7 @@ in the printer's PPD file.</P>
 
 <H3>Description</H3>
 
-<P>The <CODE>Info</CODE> directive defines the string for the 
+<P>The <CODE>Info</CODE> directive defines the string for the
 <VAR>printer-info</VAR> attribute. It is normally set using the
 <CODE>lpadmin(8)</CODE> command:</P>
 
@@ -337,7 +337,7 @@ section.</P>
 
 <H3>Description</H3>
 
-<P>The <CODE>KLimit</CODE> directive defines the value of the 
+<P>The <CODE>KLimit</CODE> directive defines the value of the
 <VAR>job-k-limit</VAR> attribute. It is normally set using the
 <CODE>lpadmin(8)</CODE> command:</P>
 
@@ -364,7 +364,7 @@ section.</P>
 
 <H3>Description</H3>
 
-<P>The <CODE>Location</CODE> directive defines the string for the 
+<P>The <CODE>Location</CODE> directive defines the string for the
 <VAR>printer-location</VAR> attribute. It is normally set using the
 <CODE>lpadmin(8)</CODE> command:</P>
 
@@ -449,7 +449,7 @@ section.</P>
 
 <H3>Description</H3>
 
-<P>The <CODE>PageLimit</CODE> directive defines the value of the 
+<P>The <CODE>PageLimit</CODE> directive defines the value of the
 <VAR>job-page-limit</VAR> attribute. It can be set using the
 <CODE>lpadmin(8)</CODE> command:</P>
 
@@ -665,7 +665,7 @@ section.</P>
 <PRE CLASS="command">
 &lt;Printer name&gt;
   ...
-  StateMessage Ready to print.
+  StateMessage Printer is lonely.
 &lt;/Printer&gt;
 </PRE>
 
@@ -682,7 +682,6 @@ StateMessage Network host host_name is busy; will retry in 30 seconds...
 StateMessage Printer busy; will retry in 10 seconds...
 StateMessage Printer is busy; retrying print job...
 StateMessage Print file accepted - job ID id_number.
-StateMessage Ready to print.
 StateMessage Waiting for job to complete
 </PRE>
 
index db4aacee53796b8bce66c9d25d932468ead160df..4cab237e84e0980d98988b2ac242598997eb3504 100644 (file)
@@ -55,9 +55,8 @@ Community BigCorp
 <H3>Description</H3>
 
 <P>The <CODE>Community</CODE> directive specifies a community
-name to use when discovering printers. Multiple
-<CODE>Community</CODE> lines can be provided to scan different
-SNMP communities.</P>
+name to use when discovering printers and reporting status and supply
+levels for network printers.</P>
 
 <P>The default community is "public".</P>
 
index 00ccb6fe879ca4bd8a88e559095c3fcc8611e95e..e13cfed47760e06075c04d0bdd7a6a6976a488ce 100644 (file)
 
 <h2><a name="BASICS">The Basics</h2>
 
-<p>A "server" is any machine that communicates directly to a printer. A "client"
-is any machine that sends print jobs to a server for final printing. Clients can
-also be servers if they communicate directly with any printers of their own.</p>
+<p>A "server" is any machine that communicates directly to a printer. A "client" is any machine that sends print jobs to a server for final printing. Clients can also be servers if they communicate directly with any printers of their own.</p>
 
-<p>By default, CUPS uses the Internet Printing Protocol (IPP) to send jobs from
-a client to a server. When printing to legacy print servers you may also use the
-Line Printer Daemon (LPD) when printing to older UNIX-based servers or Server
-Message Block (SMB) when printing to Windows<sup>&reg;</sup> servers.</p>
+<p>By default, CUPS uses the Internet Printing Protocol (IPP) to send jobs from a client to a server. When printing to legacy print servers you may also use the Line Printer Daemon (LPD) protocol when printing to older UNIX-based servers or Server Message Block (SMB) when printing to Windows<sup>&reg;</sup> servers.</p>
 
-<p>Clients can automatically discover and access shared printers via CUPS
-browsing, IPP, Service Location Protocol (SLP), and Lightweight Directory Access
-Protocol (LDAP). DNS Service Discovery (DNS-SD a.k.a. Bonjour<sup>&reg;</sup>)
-and SMB browsing can also be used to manually discover and access shared
-printers.</p>
+<p>Clients can automatically discover and access shared printers via DNS Service Discovery (DNS-SD a.k.a. Bonjour<sup>&reg;</sup>). SMB browsing can also be used to manually discover and access shared printers when <a href="http://www.samba.org/">Samba</a> is installed.</p>
 
 
 <h2><a name="SERVER_CONFIG">Configuring the Server</a></h2>
 
-<p>You must enable printer sharing on the server before clients can print
-through it. The simplest way to do this is to use the
-<a href="man-cupsctl.html">cupsctl(8)</a> command on the server:</p>
+<p>You must enable printer sharing on the server before clients can print through it. The simplest way to do this is to use the <a href="man-cupsctl.html">cupsctl(8)</a> command on the server:</p>
 
 <pre class="command">
 cupsctl --share-printers
 </pre>
 
-<p>By default, the above command will allow printing from other clients on the
-same subnet as your server. To allow printing from any subnet, use the following
-command instead:</p>
+<p>By default, the above command will allow printing from other clients on the same subnet as your server. To allow printing from any subnet, use the following command instead:</p>
 
 <pre class="command">
 cupsctl --share-printers --remote-any
 </pre>
 
-<p>Next, you need to choose which protocols to use for printer sharing. The
-default is CUPS browsing and DNS-SD on Mac OS X and CUPS browsing alone on
-other platforms. To set the sharing protocols, run the <b>cupsctl</b> command
-to set the
-<a href="ref-cupsd-conf.html#BrowseLocalProtocols">BrowseLocalProtocols</a>
-value. For example, run the following command to allow shared printing via
-CUPS, DNS-SD, LPD, and SMB:</p>
+<p>Next, tag each printer that you want to share using the <a href="man-lpadmin.html">lpadmin(8)</a> command on the server, for example:</p>
 
 <pre class="command">
-cupsctl 'BrowseLocalProtocols="cups dnssd lpd smb"'
+lpadmin -p printer -o printer-is-shared=true
 </pre>
 
-
-<h2><a name="AUTO_CUPS">Automatic Configuration using CUPS Browsing</a></h2>
-
-<p>CUPS browsing works by periodically broadcasting information about printers
-that are being shared to client systems on the same subnet. Each client
-maintains its own list of shared printers, and when more than one server shares
-the same printer (or the same kind of printer) the client uses all of the
-servers and printers to provide high-availability and failsafe printing.</p>
-
-<p>To configure printers on the same subnet, <em>do nothing</em>. Each client
-should see the available printers within 30 seconds automatically. The printer
-and class lists are updated automatically as printers and servers are added or
-removed.</p>
-
-<blockquote><b>Note:</b>
-
-<p>Due to user interface changes in Mac OS X 10.5, CUPS shared printers will not
-automatically appear in the print dialog. Instead, you must first run the
-following command to enable CUPS browsing on your system:</p>
-
-<pre class="command">
-cupsctl BrowseRemoteProtocols=cups
-</pre>
-
-<p>Then choose each of the CUPS shared printers you want to see in the print
-dialog by adding them, either from the <var>Add Printer...</var> item in the
-print dialog or from the <var>Print &amp; Fax</var> preference pane in the
-<var>System Preferences</var> window.</p>
-
-</blockquote>
-
-<h3><a name="BROWSE_POLL">Seeing Printers on Other Subnets</a></h3>
-
-<p>You can automatically access printers on other subnets by adding
-<a href="ref-cupsd-conf.html#BrowsePoll"><code>BrowsePoll</code></a> lines
-to the <var>cupsd.conf</var> file on your local system. For a single
-server you can use the <b>cupsctl</b> command:</p>
+<p>You can require authentication for shared printing by setting the policy on each printer, for example:</p>
 
 <pre class="command">
-cupsctl BrowsePoll=server:port
-</pre>
-
-<p>For multiple servers, use the CUPS web interface (http://localhost:631/admin)
-to edit the configuration file instead. Enter one <code>BrowsePoll</code> line
-per server at the bottom of the file, as follows:</p>
-
-<pre class="example">
-BrowsePoll server1:port
-BrowsePoll server2:port
-BrowsePoll server3:port
-</pre>
-
-<p>If you have more than one client on your subnet that wants to see the
-printers on those servers, add a
-<a href="ref-cupsd-conf.html#BrowseRelay"><code>BrowseRely</code></a> line
-to the <var>cupsd.conf</var> file on your local system using the <b>cupsctl</b>
-command:</p>
-
-<pre class="command">
-cupsctl 'BrowseRelay="127.0.0.1 @LOCAL"'
-</pre>
-
-<p>or CUPS web interface (again, at the bottom of the file):</p>
-
-<pre class="example">
-BrowseRelay 127.0.0.1 @LOCAL
+lpadmin -p printer -o printer-op-policy=authenticated
 </pre>
 
 
 <h2><a name="AUTO_IPP">Automatic Configuration using IPP</a></h2>
 
+<blockquote><b>Note:</b>
+<p>This method of configuration does not work on OS X 10.7 or later because sandboxed applications do not always have direct network access.</p>
+</blockquote>
+
 <p>CUPS can be configured to run without a local spooler and send all jobs to a
 single server. However, if that server goes down then all printing will be
 disabled. Use this configuration only as absolutely necessary.</p>
@@ -167,6 +90,10 @@ port. The environment variable overrides both the user and system
 
 <h2><a name="MANUAL">Manual Configuration of Print Queues</a></h2>
 
+<blockquote><b>Note:</b>
+<p>This method of configuration does not work on OS X 10.7 or later because sandboxed applications do not always have direct network access.</p>
+</blockquote>
+
 <p>The most tedious method of configuring client machines is to configure
 each remote queue by hand using the <a href="man-lpadmin.html">lpadmin(8)</a>
 command:</p>
index 47f56d31d3468b2ee700c307244fb3b84ffc1d56..e253e3c486e6323418f3210e415d6cbf89852674 100644 (file)
@@ -260,7 +260,7 @@ created for developer snapshots.</P>
 
 <P>File and directory names may not exceed 16 characters in
 length to ensure compatibility with older UNIX filesystems. In
-addition, to avoid problems with case-insensitive filesystems, 
+addition, to avoid problems with case-insensitive filesystems,
 you may not use names which differ only by case, for example
 "ReadMe" and "README" are not allowed in the same directory.</P>
 
@@ -315,7 +315,7 @@ exports that tag, creating the files
 <P>Binary packages are not generally distributed by the CUPS
 team, however the <VAR>packaging/cups.spec</VAR> and
 <VAR>packaging/cups.list</VAR> files may be used to create binary
-packages on Linux, Mac OS X, and UNIX. The
+packages on Linux, OS X, and UNIX. The
 <VAR>packaging/cups.spec</VAR> file produces a binary package
 using the <CODE>rpmbuild(8)</CODE> software:</P>
 
@@ -361,7 +361,7 @@ are available for each type of binary package:</P>
 </TR>
 <TR>
        <TD>osx</TD>
-       <TD>Mac OS X Install</TD>
+       <TD>OS X Install</TD>
 </TR>
 <TR>
        <TD>pkg</TD>
@@ -392,7 +392,7 @@ are available for each type of binary package:</P>
 <P>Finally, the <VAR>tools/testrpm</VAR> and
 <VAR>tools/testosx</VAR> scripts can be used to create binary
 packages from the current working copy for testing on Linux and
-Mac OS X, respectively:</P>
+OS X, respectively:</P>
 
 <PRE CLASS="command">
 tools/testrpm
@@ -947,7 +947,7 @@ name=value</PRE>
                <LI><CODE>$(name)</CODE>; substitutes the value of "name",</LI>
                <LI><CODE>($name:.old=.new)</CODE>; substitutes the value of "name"
                with the filename extensions ".old" changed to ".new",</LI>
-               <LI><CODE>$(MAKEFLAGS)</CODE>; substitutes the 
+               <LI><CODE>$(MAKEFLAGS)</CODE>; substitutes the
                command-line options passed to the program
                without the leading hyphen (-),</LI>
                <LI><CODE>$$</CODE>; substitutes a single <CODE>$</CODE> character,</LI>
index 2b6c7a3d01450fb824f4291029e2c2ce17189417..e06270c184d4ee7b8af14a88af16332469556103 100644 (file)
@@ -365,7 +365,7 @@ Print-Job request:
 
 <dl>
 
-       <dt>"auth-info" (1setOf text(MAX)):<span class='info'>CUPS 1.3/Mac OS X 10.5</span>
+       <dt>"auth-info" (1setOf text(MAX)):<span class='info'>CUPS 1.3/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies one or more authentication values as specified by the "auth-info-required" attribute.
 
@@ -472,7 +472,7 @@ Create-Job request:
 
 <dl>
 
-       <dt>"auth-info" (1setOf text(MAX)):<span class='info'>CUPS 1.3/Mac OS X 10.5</span>
+       <dt>"auth-info" (1setOf text(MAX)):<span class='info'>CUPS 1.3/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies one or more authentication values as specified by the "auth-info-required" attribute.
 
@@ -577,7 +577,7 @@ Cancel-Job request:
        <dd>The client MUST supply a URI for the specified printer and
        a job ID number, or the job URI.
 
-       <dt><span class="info">CUPS 1.4/Mac OS X 10.6</span>"purge-job" (boolean):
+       <dt><span class="info">CUPS 1.4/OS X 10.6</span>"purge-job" (boolean):
 
        <dd>The client OPTIONALLY supplies this attribute. When true,
        all job files (history and document) are purged. The default
@@ -632,18 +632,18 @@ Purge-Jobs request:
        <dd>The client MUST supply a URI for the specified printer or
        "ipp://.../printers" for all printers and classes.
 
-       <dt><span class="info">CUPS 1.2/Mac OS X 10.5</span>"requesting-user-name" (name(MAX)):
+       <dt><span class="info">CUPS 1.2/OS X 10.5</span>"requesting-user-name" (name(MAX)):
 
        <dd>The client OPTIONALLY supplies this attribute to specify whose jobs
        jobs are purged or canceled.
 
-       <dt><span class="info">CUPS 1.2/Mac OS X 10.5</span>"my-jobs" (boolean):
+       <dt><span class="info">CUPS 1.2/OS X 10.5</span>"my-jobs" (boolean):
 
        <dd>The client OPTIONALLY supplies this attribute to specify that only
        the jobs owned by the requesting user are purged or canceled. The
        default is false.
 
-       <dt><span class="info">CUPS 1.2/Mac OS X 10.5</span>"purge-jobs" (boolean):
+       <dt><span class="info">CUPS 1.2/OS X 10.5</span>"purge-jobs" (boolean):
 
        <dd>The client OPTIONALLY supplies this attribute to specify
        whether the jobs are purged (true) or just canceled (false).
@@ -754,7 +754,7 @@ Response:
 
 </dl>
 
-<h3 class='title'><span class='info'>CUPS 1.2/Mac OS X 10.5</span><a
+<h3 class='title'><span class='info'>CUPS 1.2/OS X 10.5</span><a
 name='CREATE_PRINTER_SUBSCRIPTION'>Create-Printer-Subscription</a></h3>
 
 <p>The Create-Printer-Subscription operation (0x0016) creates a
@@ -926,7 +926,7 @@ CUPS-Get-Printers request:
        attributes as described in section 3.1.4.1 of the IPP Model and
        Semantics document.
 
-       <dt>"first-printer-name" (name(127)):<span class='info'>CUPS 1.2/Mac OS X 10.5</span>
+       <dt>"first-printer-name" (name(127)):<span class='info'>CUPS 1.2/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies this attribute to
        select the first printer that is returned.
@@ -960,7 +960,7 @@ CUPS-Get-Printers request:
        responds as if this attribute had been supplied with a value of
        'all'.
 
-       <dt>"requested-user-name" (name(127)) : <span class='info'>CUPS 1.2/Mac OS X 10.5</span>
+       <dt>"requested-user-name" (name(127)) : <span class='info'>CUPS 1.2/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies a user name that is used to filter
        the returned printers.
@@ -1027,7 +1027,7 @@ CUPS-Add-Modify-Printer request:
 
 <dl>
 
-       <dt>"auth-info-required" (1setOf type2 keyword):<span class='info'>CUPS 1.3/Mac OS X 10.5</span>
+       <dt>"auth-info-required" (1setOf type2 keyword):<span class='info'>CUPS 1.3/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies one or more authentication keywords that are required to communicate with the printer/remote queue.
 
@@ -1190,7 +1190,7 @@ CUPS-Get-Classes request:
        attributes as described in section 3.1.4.1 of the IPP Model and
        Semantics document.
 
-       <dt>"first-printer-name" (name(127)):<span class='info'>CUPS 1.2/Mac OS X 10.5</span>
+       <dt>"first-printer-name" (name(127)):<span class='info'>CUPS 1.2/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies this attribute to
        select the first printer that is returned.
@@ -1220,7 +1220,7 @@ CUPS-Get-Classes request:
        interested. If the client omits this attribute, the server responds as
        if this attribute had been supplied with a value of 'all'.
 
-       <dt>"requested-user-name" (name(127)) : <span class='info'>CUPS 1.2/Mac OS X 10.5</span>
+       <dt>"requested-user-name" (name(127)) : <span class='info'>CUPS 1.2/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies a user name that is used to filter
        the returned printers.
@@ -1287,7 +1287,7 @@ CUPS-Add-Modify-Class request:
 
 <dl>
 
-       <dt>"auth-info-required" (1setOf type2 keyword):<span class='info'>CUPS 1.3/Mac OS X 10.5</span>
+       <dt>"auth-info-required" (1setOf type2 keyword):<span class='info'>CUPS 1.3/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies one or more authentication keywords that are required to communicate with the printer/remote queue.
 
@@ -1586,14 +1586,14 @@ CUPS-Get-Devices request:
        <dd>The client OPTIONALLY supplies a device class keyword to select
        which devices are returned.
 
-       <dt>"exclude-schemes" (1setOf name) :<span class='info'>CUPS 1.4/Mac OS X 10.6</span>
+       <dt>"exclude-schemes" (1setOf name) :<span class='info'>CUPS 1.4/OS X 10.6</span>
 
        <dd>The client OPTIONALLY supplies a set of scheme names that the
        requestor does not want to discover. If the client omits this attribute,
        the server responds with devices of all schemes specified by
        the "include-schemes" attribute.
 
-       <dt>"include-schemes" (1setOf name) :<span class='info'>CUPS 1.4/Mac OS X 10.6</span>
+       <dt>"include-schemes" (1setOf name) :<span class='info'>CUPS 1.4/OS X 10.6</span>
 
        <dd>The client OPTIONALLY supplies a set of scheme names that the
        requestor wants to discover. If the client omits this attribute,
@@ -1612,7 +1612,7 @@ CUPS-Get-Devices request:
        the client omits this attribute, the server responds as if this
        attribute had been supplied with a value of 'all'.
 
-       <dt>"timeout" (integer (1:MAX)) :<span class='info'>CUPS 1.4/Mac OS X 10.6</span>
+       <dt>"timeout" (integer (1:MAX)) :<span class='info'>CUPS 1.4/OS X 10.6</span>
 
        <dd>The client OPTIONALLY supplies this attribute to limit the duration
        of the lookup. The default timeout is 15 seconds.
@@ -1669,14 +1669,14 @@ CUPS-Get-PPDs request:
        attributes as described in section 3.1.4.1 of the IPP Model and
        Semantics document.
 
-       <dt>"exclude-schemes" (1setOf name) :<span class='info'>CUPS 1.4/Mac OS X 10.6</span>
+       <dt>"exclude-schemes" (1setOf name) :<span class='info'>CUPS 1.4/OS X 10.6</span>
 
        <dd>The client OPTIONALLY supplies a set of scheme names that the
        requestor does not want to list. If the client omits this attribute,
        the server responds with PPDs of all schemes specified by the
        "include-schemes" attribute.
 
-       <dt>"include-schemes" (1setOf name) :<span class='info'>CUPS 1.4/Mac OS X 10.6</span>
+       <dt>"include-schemes" (1setOf name) :<span class='info'>CUPS 1.4/OS X 10.6</span>
 
        <dd>The client OPTIONALLY supplies a set of scheme names that the
        requestor wants to list. If the client omits this attribute, the server
@@ -1691,27 +1691,27 @@ CUPS-Get-PPDs request:
 
        <dd>The client OPTIONALLY supplies a printer manufacturer to select which PPDs are returned.
 
-       <dt>"ppd-make-and-model" (text(127)):<span class='info'>CUPS 1.3/Mac OS X 10.5</span>
+       <dt>"ppd-make-and-model" (text(127)):<span class='info'>CUPS 1.3/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies a make and model to select which PPDs are returned.
 
-       <dt>"ppd-model-number" (integer):<span class='info'>CUPS 1.3/Mac OS X 10.5</span>
+       <dt>"ppd-model-number" (integer):<span class='info'>CUPS 1.3/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies a model number to select which PPDs are returned.
 
-       <dt>"ppd-natural-language" (naturalLanguage):<span class='info'>CUPS 1.3/Mac OS X 10.5</span>
+       <dt>"ppd-natural-language" (naturalLanguage):<span class='info'>CUPS 1.3/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies a language to select which PPDs are returned.
 
-       <dt>"ppd-product" (text(127)):<span class='info'>CUPS 1.3/Mac OS X 10.5</span>
+       <dt>"ppd-product" (text(127)):<span class='info'>CUPS 1.3/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies a PostScript product string to select which PPDs are returned.
 
-       <dt>"ppd-psversion" (text(127)):<span class='info'>CUPS 1.3/Mac OS X 10.5</span>
+       <dt>"ppd-psversion" (text(127)):<span class='info'>CUPS 1.3/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies a PostScript version string to select which PPDs are returned.
 
-       <dt>"ppd-type" (type1 keyword):<span class='info'>CUPS 1.3/Mac OS X 10.5</span>
+       <dt>"ppd-type" (type1 keyword):<span class='info'>CUPS 1.3/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies a driver type to select which PPDs are returned.
 
@@ -1813,7 +1813,7 @@ CUPS-Move-Job Response:
 
 </dl>
 
-<h3 class='title'><span class='info'>CUPS 1.2/Mac OS X 10.5</span><a name='CUPS_AUTHENTICATE_JOB'>CUPS-Authenticate-Job Operation</a></h3>
+<h3 class='title'><span class='info'>CUPS 1.2/OS X 10.5</span><a name='CUPS_AUTHENTICATE_JOB'>CUPS-Authenticate-Job Operation</a></h3>
 
 <p>The CUPS-Authenticate-Job operation (0x400E) authenticates a print job for
 printing, releasing the job if it is held. Typically this is used when printing
@@ -1848,11 +1848,11 @@ CUPS-Authenticate-Job request:
 
 <dl>
 
-       <dt>"auth-info" (1setOf text(MAX)):<span class='info'>CUPS 1.3/Mac OS X 10.5</span>
+       <dt>"auth-info" (1setOf text(MAX)):<span class='info'>CUPS 1.3/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies one or more authentication values as specified by the "auth-info-required" attribute.
 
-       <dt>"job-hold-until" (keyword | name(MAX)):<span class='info'>CUPS 1.3/Mac OS X 10.5</span>
+       <dt>"job-hold-until" (keyword | name(MAX)):<span class='info'>CUPS 1.3/OS X 10.5</span>
 
        <dd>The client OPTIONALLY supplies a new job-hold-until value for the
        job. If specified and not the "no-hold" value, the job is held instead
@@ -1891,7 +1891,7 @@ CUPS-Authenticate-Job Response:
 
 </dl>
 
-<h3 class='title'><span class='info'>CUPS 1.3/Mac OS X 10.5</span><a name='CUPS_GET_PPD'>CUPS-Get-PPD Operation</a></h3>
+<h3 class='title'><span class='info'>CUPS 1.3/OS X 10.5</span><a name='CUPS_GET_PPD'>CUPS-Get-PPD Operation</a></h3>
 
 <p>The CUPS-Get-PPD operation (0x400F) gets a PPD file from the
 server. The PPD file can be specified using a <tt>ppd-name</tt>
@@ -1961,7 +1961,7 @@ CUPS-Get-PPD Response:
 <p>If the status code is <tt>successful-ok</tt>, the PPD file follows
 the end of the IPP response.</p>
 
-<h3 class='title'><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='CUPS_GET_DOCUMENT'>CUPS-Get-Document Operation</a></h3>
+<h3 class='title'><span class='info'>CUPS 1.4/OS X 10.6</span><a name='CUPS_GET_DOCUMENT'>CUPS-Get-Document Operation</a></h3>
 
 <p>The CUPS-Get-Document operation (0x4027) gets a document file from a
 job on the server. The document file is specified using the
@@ -2078,7 +2078,7 @@ one of the following:
 
 </ul>
 
-<h4><a name="device-id">device-id (text(127))</a><span class="info">CUPS 1.2/Mac OS X 10.5</span></h4>
+<h4><a name="device-id">device-id (text(127))</a><span class="info">CUPS 1.2/OS X 10.5</span></h4>
 
 <p>The device-id attribute specifies the IEEE-1284 device ID
 string for the device.</p>
@@ -2088,7 +2088,7 @@ string for the device.</p>
 <p>The device-info attribute specifies a human-readable string describing
 the device, e.g. "Parallel Port #1".
 
-<h4><a name="device-location">device-location (text(127))</a><span class="info">CUPS 1.4/Mac OS X 10.6</span></h4>
+<h4><a name="device-location">device-location (text(127))</a><span class="info">CUPS 1.4/OS X 10.6</span></h4>
 
 <p>The device-location attribute specifies the physical location of the
 printer.
@@ -2148,7 +2148,7 @@ of the device-class attribute:
 
 <h3 class='title'><a name='JOB_TEMPLATE_ATTRIBUTES'>Job Template Attributes</a></h3>
 
-<h4><a name="auth-info">auth-info (1setOf text(MAX))</a><span class="info">CUPS 1.3/Mac OS X 10.5</span></h4>
+<h4><a name="auth-info">auth-info (1setOf text(MAX))</a><span class="info">CUPS 1.3/OS X 10.5</span></h4>
 
 <p>The auth-info attribute specifies the authentication information to use when printing to a remote device. The order and content of each text value is specifed by the <a href="#auth-info-required">auth-info-required</a> printer attribute.
 
@@ -2158,7 +2158,7 @@ of the device-class attribute:
 printing text files. Only the values 10, 12, and 17 are currently
 supported. The default value is 10.
 
-<h4><a name="fit-to-page">fit-to-page (boolean)</a><span class="info">CUPS 1.4/Mac OS X 10.6</span></h4>
+<h4><a name="fit-to-page">fit-to-page (boolean)</a><span class="info">CUPS 1.4/OS X 10.6</span></h4>
 
 <p>The fit-to-page attribute specifies whether to scale documents to fit on the
 selected media (fit-to-page=true) or use the physical size specified in the
@@ -2178,17 +2178,17 @@ Universal Coordinated Time (UTC) and <i>not</i> in the local time zone. If the
 specified time is less than the current time, the job is held until the
 next day.
 
-<h4><a name="job-media-progress">job-media-progress (integer(0:100))</a><span class='info'>CUPS 1.4/Mac OS X 10.6</span></h4>
+<h4><a name="job-media-progress">job-media-progress (integer(0:100))</a><span class='info'>CUPS 1.4/OS X 10.6</span></h4>
 
 <p>The job-media-progress attribute specifies the percentage of completion of
 the current page. It is only valid when the job-state attribute has the
 "processing" value (5).</p>
 
-<h4><a name="job-printer-state-message">job-printer-state-message (text(MAX))</a><span class='info'>CUPS 1.3/Mac OS X 10.5</span></h4>
+<h4><a name="job-printer-state-message">job-printer-state-message (text(MAX))</a><span class='info'>CUPS 1.3/OS X 10.5</span></h4>
 
 <p>The job-printer-state-message attribute provides the last known value of the printer-state-message attribute for the printer that processed (or is processing) the job.</p>
 
-<h4><a name="job-printer-state-reasons">job-printer-state-reasons (1setOf type2 keyword)</a><span class='info'>CUPS 1.3/Mac OS X 10.5</span></h4>
+<h4><a name="job-printer-state-reasons">job-printer-state-reasons (1setOf type2 keyword)</a><span class='info'>CUPS 1.3/OS X 10.5</span></h4>
 
 <p>The job-printer-state-reasons attribute provides the last known value of the printer-state-reasons attribute for the printer that processed (or is processing) the job.</p>
 
@@ -2342,7 +2342,7 @@ name of the PPD file (the NickName attribute in the PPD file). If the
 make and model is not specified in the PPD file then the ModelName or
 ShortNickName attributes are used instead.
 
-<h4><a name="ppd-model-number">ppd-model-number (integer)</a><span class="info">CUPS 1.3/Mac OS X 10.5</span></h4>
+<h4><a name="ppd-model-number">ppd-model-number (integer)</a><span class="info">CUPS 1.3/OS X 10.5</span></h4>
 
 <p>The ppd-model-number attribute provides the <tt>cupsModelNumber</tt> value from the PPD file.
 
@@ -2360,11 +2360,11 @@ language is unknown or undefined then "en" (English) is assumed.
 
 <p>The ppd-product attribute specifies the Product attribute values in the PPD file.
 
-<h4><a name="ppd-psversion">ppd-psversion (1setOf text(127))</a><span class="info">CUPS 1.3/Mac OS X 10.5</span></h4>
+<h4><a name="ppd-psversion">ppd-psversion (1setOf text(127))</a><span class="info">CUPS 1.3/OS X 10.5</span></h4>
 
 <p>The ppd-product attribute specifies the PSVersion attribute values in the PPD file.
 
-<h4><a name="ppd-type">ppd-type (type1 keyword)</a><span class="info">CUPS 1.3/Mac OS X 10.5</span></h4>
+<h4><a name="ppd-type">ppd-type (type1 keyword)</a><span class="info">CUPS 1.3/OS X 10.5</span></h4>
 
 <p>The ppd-type attribute specifies the type of driver described by the PPD file:</p>
 
@@ -2385,7 +2385,7 @@ language is unknown or undefined then "en" (English) is assumed.
 
 <h3 class='title'><a name='PRINTER_ATTRIBUTES'>Printer Attributes</a></h3>
 
-<h4><a name="auth-info-required">auth-info-required (1setOf type2 keyword)</a><span class="info">CUPS 1.3/Mac OS X 10.5</span></h4>
+<h4><a name="auth-info-required">auth-info-required (1setOf type2 keyword)</a><span class="info">CUPS 1.3/OS X 10.5</span></h4>
 
 <p>The auth-info-required attribute specifies the authentication information that is required for printing a job. The following keywords are recognized:</p>
 
@@ -2425,26 +2425,26 @@ the system.
 <p>The job-sheets-supported attribute specifies the available banner files.
 There will always be at least one banner file available called "none".
 
-<h4><a name="marker-change-time">marker-change-time (integer)</a><span class='info'>CUPS 1.3/Mac OS X 10.5</span></h4>
+<h4><a name="marker-change-time">marker-change-time (integer)</a><span class='info'>CUPS 1.3/OS X 10.5</span></h4>
 
 <p>The marker-change-time attribute specifies the printer-up-time value when
 the last change to the marker-colors, marker-levels, marker-message,
 marker-names, or marker-types attributes was made.</p>
 
-<h4><a name="marker-colors">marker-colors (1setof name(MAX))</a><span class='info'>CUPS 1.3/Mac OS X 10.5</span></h4>
+<h4><a name="marker-colors">marker-colors (1setof name(MAX))</a><span class='info'>CUPS 1.3/OS X 10.5</span></h4>
 
 <p>The marker-colors attribute specifies the color(s) for each supply in the
 printer. It is only available when the driver provides supply levels. The
 color is either "none" or one or more hex-encoded sRGB colors of the form
 "#RRGGBB".</p>
 
-<h4><a name="marker-high-levels">marker-high-levels (1setof integer(0:100))</a><span class='info'>CUPS 1.4/Mac OS X 10.6</span></h4>
+<h4><a name="marker-high-levels">marker-high-levels (1setof integer(0:100))</a><span class='info'>CUPS 1.4/OS X 10.6</span></h4>
 
 <p>The marker-high-levels attribute specifies the supply levels that indicate
 a near-full condition. A value of 100 should be used for supplies that are
 consumed/emptied, e.g. ink cartridges.</p>
 
-<h4><a name="marker-levels">marker-levels (1setof integer(-3:100))</a><span class='info'>CUPS 1.3/Mac OS X 10.5</span></h4>
+<h4><a name="marker-levels">marker-levels (1setof integer(-3:100))</a><span class='info'>CUPS 1.3/OS X 10.5</span></h4>
 
 <p>The marker-levels attribute specifies the current supply levels for the
 printer. It is only available when the driver provides supply levels. A
@@ -2452,24 +2452,24 @@ value of -1 indicates the level is unavailable, -2 indicates unknown, and -3
 indicates the level is unknown but has not yet reached capacity. Values from 0
 to 100 indicate the corresponding percentage.</p>
 
-<h4><a name="marker-low-levels">marker-low-levels (1setof integer(0:100))</a><span class='info'>CUPS 1.4/Mac OS X 10.6</span></h4>
+<h4><a name="marker-low-levels">marker-low-levels (1setof integer(0:100))</a><span class='info'>CUPS 1.4/OS X 10.6</span></h4>
 
 <p>The marker-low-levels attribute specifies the supply levels that indicate
 a near-empty condition. A value of 0 should be used for supplies that are
 filled, e.g. waste ink tanks.</p>
 
-<h4><a name="marker-message">marker-message (text(MAX))</a><span class='info'>CUPS 1.4/Mac OS X 10.6</span></h4>
+<h4><a name="marker-message">marker-message (text(MAX))</a><span class='info'>CUPS 1.4/OS X 10.6</span></h4>
 
 <p>The marker-message attribute provides a human-readable status message
 for the current supply levels, e.g. "12 pages of ink remaining." It is only
 available when the driver provides supply levels.</p>
 
-<h4><a name="marker-names">marker-names (1setof name(MAX))</a><span class='info'>CUPS 1.3/Mac OS X 10.5</span></h4>
+<h4><a name="marker-names">marker-names (1setof name(MAX))</a><span class='info'>CUPS 1.3/OS X 10.5</span></h4>
 
 <p>The marker-names attribute specifies the name(s) for each supply in the
 printer. It is only available when the driver provides supply levels.</p>
 
-<h4><a name="marker-types">marker-types (1setof type3 keyword)</a><span class='info'>CUPS 1.3/Mac OS X 10.5</span></h4>
+<h4><a name="marker-types">marker-types (1setof type3 keyword)</a><span class='info'>CUPS 1.3/OS X 10.5</span></h4>
 
 <p>The marker-types attribute specifies the type(s) of each supply in the
 printer. It is only available when the driver provides supply levels. The
@@ -2548,13 +2548,13 @@ to this printer. The default port monitor is "none".
 
 <p>The port-monitor-supported attribute specifies the available port monitors.
 
-<h4><a name="printer-commands">printer-commands (1setOf Type3 keyword)</a><span class='info'>CUPS 1.4/Mac OS X 10.6</span></h4>
+<h4><a name="printer-commands">printer-commands (1setOf Type3 keyword)</a><span class='info'>CUPS 1.4/OS X 10.6</span></h4>
 
 <p>The printer-commands attribute specifies the commands that are supported
 by the CUPS command file filter. The keyword "none" indicates that no commands
 are supported.</p>
 
-<h4><a name="printer-dns-sd-name">printer-dns-sd-name (name(MAX) | noValue)</a><span class='info'>CUPS 1.4/Mac OS X 10.6</span></h4>
+<h4><a name="printer-dns-sd-name">printer-dns-sd-name (name(MAX) | noValue)</a><span class='info'>CUPS 1.4/OS X 10.6</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,
@@ -2574,10 +2574,10 @@ and the following CUPS-specific keywords:</p>
        permissions. CUPS will not execute programs with world write permissions
        or setuid programs. When run as root (the default), CUPS also does not
        execute programs that are not owned by root.
-       <span class='info'>CUPS 1.4/Mac OS X 10.6</span></li>
+       <span class='info'>CUPS 1.4/OS X 10.6</span></li>
 
        <li><tt>cups-missing-filter-warning</tt> - a filter or backend is not
-       installed. <span class='info'>CUPS 1.4/Mac OS X 10.6</span></li>
+       installed. <span class='info'>CUPS 1.4/OS X 10.6</span></li>
 
 </ul>
 
index af64b7a9e0930ccec45e1a9bbf35f52d8797cdba..110c5a3caa21d8c2e060eadfae84376d4bd1e84d 100644 (file)
@@ -12,7 +12,7 @@
 
   CUPS PostScript file specification for CUPS.
 
-  Copyright 2007-2011 by Apple Inc.
+  Copyright 2007-2012 by Apple Inc.
   Copyright 2006 by Easy Software Products.
 
   These coded instructions, statements, and computer programs are the
@@ -39,7 +39,7 @@ output will work reliably.</p>
 de-facto standard print job file format/language for UNIX-based
 applications, it is slowly being phased out in favor of Adobe's
 Portable Document Format ("PDF") which offers many advantages
-over PostScript. Mac OS X uses PDF as the primary print job file
+over PostScript. OS X uses PDF as the primary print job file
 format and Linux is making the transition. Both PostScript and
 PDF are complex formats, and we highly recommend using high-level
 toolkits whenever possible to create your print jobs.</blockquote>
index d291b49ed281b404f4a947d4372365f904d4bbad..d85918978986c2d48ebf0e9977a445c4e1caf829 100644 (file)
@@ -390,7 +390,7 @@ div.contents ul.subcontents li {
        <li><a href="#cupsUIResolver">cupsUIResolver</a></li>
 </ul></li>
 <li><a href="#I18N">Globalized PPD Support</a></li>
-<li><a href="#OPTIONS">CUPS 1.3/Mac OS X 10.6Custom Options</a></li>
+<li><a href="#OPTIONS">CUPS 1.3/OS X 10.6Custom Options</a></li>
 <li><a href="#RASTERPS">Writing PostScript Option Commands for Raster Drivers</a></li>
 <li><a href="#MEDIA">Media Keywords</a><ul class="subcontents">
        <li><a href="#cupsMediaQualifier2">cupsMediaQualifier2</a></li>
@@ -425,7 +425,7 @@ div.contents ul.subcontents li {
        <li><a href="#cupsVersion">cupsVersion</a></li>
        <li><a href="#JCLToPDFInterpreter">JCLToPDFInterpreter</a></li>
 </ul></li>
-<li><a href="#MACOSX">Mac OS X Attributes</a><ul class="subcontents">
+<li><a href="#MACOSX">OS X Attributes</a><ul class="subcontents">
        <li><a href="#APDialogExtension">APDialogExtension</a></li>
        <li><a href="#APDuplexRequiresFlippedMargin">APDuplexRequiresFlippedMargin</a></li>
        <li><a href="#APHelpBook">APHelpBook</a></li>
@@ -471,11 +471,11 @@ LINE-END = CR / LF / CR LF
 
 <p>CUPS supports several methods of auto-configuration via PPD keywords.</p>
 
-<h3><span class='info'>Mac OS X 10.5</span><a name='APAutoSetupTool'>APAutoSetupTool</a></h3>
+<h3><span class='info'>OS X 10.5</span><a name='APAutoSetupTool'>APAutoSetupTool</a></h3>
 
 <p class='summary'>*APAutoSetupTool: "/LibraryPrinters/vendor/filename"</p>
 
-<p>This Mac OS X keyword defines a program that sets the default option choices. It is run when a printer is added from the <var>Add Printer</var> window or the <var>Nearby Printers</var> list in the <var>Print</var> dialog.</p>
+<p>This OS X keyword defines a program that sets the default option choices. It is run when a printer is added from the <var>Add Printer</var> window or the <var>Nearby Printers</var> list in the <var>Print</var> dialog.</p>
 
 <p>The program is provided with two arguments: the printer's device URI and the PPD file to be used for the printer. The program must write an updated PPD file to stdout.</p>
 
@@ -486,7 +486,7 @@ LINE-END = CR / LF / CR LF
 *APAutoSetupTool: "/Library/Printers/vendor/Tools/autosetuptool"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.2/CUPS 1.4</span><a name='QUERYKEYWORD'>?MainKeyword</a></h3>
+<h3><span class='info'>OS X 10.2/CUPS 1.4</span><a name='QUERYKEYWORD'>?MainKeyword</a></h3>
 
 <p class='summary'>*?<i>MainKeyword</i>: "<br>
   PostScript query code that writes a message using the = operator...<br>
@@ -515,7 +515,7 @@ LINE-END = CR / LF / CR LF
 *CloseUI: OptionDuplex
 </pre>
 
-<h3><span class='info'>Mac OS X 10.4/CUPS 1.5</span><a name='OID'>OIDMainKeyword</a></h3>
+<h3><span class='info'>OS X 10.4/CUPS 1.5</span><a name='OID'>OIDMainKeyword</a></h3>
 
 <p class='summary'>*?OID<i>MainKeyword</i>: ".n.n.n..."<br>
 *OID<i>MainKeyword</i> <i>OptionKeyword1</i>: "value"<br>
@@ -550,7 +550,7 @@ LINE-END = CR / LF / CR LF
 
 <p class='summary'>*cupsColorProfile Resolution/MediaType: "density gamma m00 m01 m02 m10 m11 m12 m20 m21 m22"</p>
 
-<p>This string keyword specifies an sRGB-based color profile consisting of gamma and density controls and a 3x3 CMY color transform matrix. <em>This keyword is not supported on Mac OS X.</em></p>
+<p>This string keyword specifies an sRGB-based color profile consisting of gamma and density controls and a 3x3 CMY color transform matrix. <em>This keyword is not supported on OS X.</em></p>
 
 <p>The <i>Resolution</i> and <i>MediaType</i> values may be "-" to act as a wildcard. Otherwise they must match one of the <tt>Resolution</tt> or <tt>MediaType</tt> option keywords defined in the PPD file.</p>
 
@@ -583,7 +583,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 </pre>
 
 
-<h3><span class='info'>Mac OS X 10.3/CUPS 1.2</span><a name='cupsICCProfile'>cupsICCProfile</a></h3>
+<h3><span class='info'>OS X 10.3/CUPS 1.2</span><a name='cupsICCProfile'>cupsICCProfile</a></h3>
 
 <p class='summary'>*cupsICCProfile ColorModel.MediaType.Resolution/Description: "filename"</p>
 
@@ -622,22 +622,22 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 *cupsICCQualifier3: Resolution
 </pre>
 
-<h3><span class='info'>Mac OS X 10.4</span><a name='APCustom'>Custom Color Matching Support</a></h3>
+<h3><span class='info'>OS X 10.4</span><a name='APCustom'>Custom Color Matching Support</a></h3>
 
 <p class='summary'>*<a href='#APSupportsCustomColorMatching'>APSupportsCustomColorMatching</a>: true<br>
 *<a href='#APCustomColorMatchingName'>APCustomColorMatchingName</a> name/text: ""<br>
 *<a href='#APCustomColorMatchingProfile'>APCustomColorMatchingProfile</a>: profile<br>
 *<a href='#APDefaultCustomColorMatchingProfile'>APDefaultCustomColorMatchingProfile</a>: profile</p>
 
-<p>These keywords tell the Mac OS X raster filters that the printer driver provides its own custom color matching and that generic color profiles should be used when generating 1-, 3-, and 4-component raster data as requested by the driver. The <tt>APCustomColorMatchingProfile</tt> and <tt>APDefaultColorMatchingProfile</tt> keywords specify alternate color profiles (sRGB or AdobeRGB) to use for 3-color (RGB) raster data.</p>
+<p>These keywords tell the OS X raster filters that the printer driver provides its own custom color matching and that generic color profiles should be used when generating 1-, 3-, and 4-component raster data as requested by the driver. The <tt>APCustomColorMatchingProfile</tt> and <tt>APDefaultColorMatchingProfile</tt> keywords specify alternate color profiles (sRGB or AdobeRGB) to use for 3-color (RGB) raster data.</p>
 
 <blockquote><b>Note:</b>
 
-<p>Prior to Mac OS X 10.6, the default RGB color space was Apple's "GenericRGB". The new default in Mac OS X 10.6 and later is "sRGB". For more information, see <a href="http://support.apple.com/kb/HT3712">"Mac OS X v10.6: About gamma 2.2"</a> on Apple's support site.</p>
+<p>Prior to OS X 10.6, the default RGB color space was Apple's "GenericRGB". The new default in OS X 10.6 and later is "sRGB". For more information, see <a href="http://support.apple.com/kb/HT3712">"OS X v10.6: About gamma 2.2"</a> on Apple's support site.</p>
 
 </blockquote>
 
-<h4><span class='info'>Mac OS X 10.5</span><a name='APCustomColorMatchingName'>APCustomColorMatchingName</a></h4>
+<h4><span class='info'>OS X 10.5</span><a name='APCustomColorMatchingName'>APCustomColorMatchingName</a></h4>
 
 <p class='summary'>*APCustomColorMatchingName name/text: ""</p>
 
@@ -651,7 +651,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 *fr.APCustomColorMatchingName name/La AcmeColor(tm): ""
 </pre>
 
-<h4><span class='info'>Mac OS X 10.5</span><a name='APCustomColorMatchingProfile'>APCustomColorMatchingProfile</a></h4>
+<h4><span class='info'>OS X 10.5</span><a name='APCustomColorMatchingProfile'>APCustomColorMatchingProfile</a></h4>
 
 <p class='summary'>*APCustomColorMatchingProfile: name</p>
 
@@ -673,7 +673,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 *APCustomColorMatchingProfile: AdobeRGB
 </pre>
 
-<h4><span class='info'>Mac OS X 10.5</span><a name='APDefaultCustomColorMatchingProfile'>APDefaultCustomColorMatchingProfile</a></h4>
+<h4><span class='info'>OS X 10.5</span><a name='APDefaultCustomColorMatchingProfile'>APDefaultCustomColorMatchingProfile</a></h4>
 
 <p class='summary'>*APDefaultCustomColorMatchingProfile: name</p>
 
@@ -687,7 +687,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 *APDefaultCustomColorMatchingProfile: sRGB
 </pre>
 
-<h4><span class='info'>Mac OS X 10.4</span><a name='APSupportsCustomColorMatching'>APSupportsCustomColorMatching</a></h4>
+<h4><span class='info'>OS X 10.4</span><a name='APSupportsCustomColorMatching'>APSupportsCustomColorMatching</a></h4>
 
 <p class='summary'>*APSupportsCustomColorMatching: boolean</p>
 
@@ -723,7 +723,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 
 </blockquote>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsUIConstraints'>cupsUIConstraints</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsUIConstraints'>cupsUIConstraints</a></h3>
 
 <p class='summary'>*cupsUIConstraints resolver: "*Keyword1 *Keyword2 ..."<br>
 *cupsUIConstraints resolver: "*Keyword1 OptionKeyword1 *Keyword2 ..."<br>
@@ -753,7 +753,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 *cupsUIConstraints photo: "*OutputMode Photo *MediaType Transparency *Resolution 1200dpi"
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsUIResolver'>cupsUIResolver</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsUIResolver'>cupsUIResolver</a></h3>
 
 <p class='summary'>*cupsUIResolver resolver: "*Keyword1 OptionKeyword1 *Keyword2 OptionKeyword2 ..."</p>
 
@@ -855,7 +855,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 </pre>
 
 
-<h2 class='title'><a name='OPTIONS'><span class="info">CUPS 1.3/Mac OS X 10.6</span>Custom Options</a></h2>
+<h2 class='title'><a name='OPTIONS'><span class="info">CUPS 1.3/OS X 10.6</span>Custom Options</a></h2>
 
 <p>CUPS supports custom options using an extension of the <tt>CustomPageSize</tt> and <tt>ParamCustomPageSize</tt> syntax:</p>
 
@@ -1313,7 +1313,7 @@ PRE B {
 <p>The CUPS media keywords allow drivers to specify alternate custom page
 size limits based on up to two options.</p>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsMediaQualifier2'>cupsMediaQualifier2</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsMediaQualifier2'>cupsMediaQualifier2</a></h3>
 
 <p class='summary'>*cupsMediaQualifier2: MainKeyword</p>
 
@@ -1332,7 +1332,7 @@ custom page size limits.</p>
 *cupsMinSize ..Photo: "300 300"
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsMediaQualifier3'>cupsMediaQualifier3</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsMediaQualifier3'>cupsMediaQualifier3</a></h3>
 
 <p class='summary'>*cupsMediaQualifier3: MainKeyword</p>
 
@@ -1351,7 +1351,7 @@ custom page size limits.</p>
 *cupsMinSize ..Photo: "300 300"
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsMinSize'>cupsMinSize</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsMinSize'>cupsMinSize</a></h3>
 
 <p class='summary'>*cupsMinSize .Qualifier2.Qualifier3: "width length"<br>
 *cupsMinSize .Qualifier2.: "width length"<br>
@@ -1374,7 +1374,7 @@ are used to identify options to use for matching.</p>
 *cupsMinSize ..Photo: "300 300"
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsMaxSize'>cupsMaxSize</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsMaxSize'>cupsMaxSize</a></h3>
 
 <p class='summary'>*cupsMaxSize .Qualifier2.Qualifier3: "width length"<br>
 *cupsMaxSize .Qualifier2.: "width length"<br>
@@ -1400,7 +1400,7 @@ are used to identify options to use for matching.</p>
 
 <h2 class='title'><a name='ATTRIBUTES'>General Attributes</a></h2>
 
-<h3><span class='info'>CUPS 1.3/Mac OS X 10.5</span><a name='cupsBackSide'>cupsBackSide</a></h3>
+<h3><span class='info'>CUPS 1.3/OS X 10.5</span><a name='cupsBackSide'>cupsBackSide</a></h3>
 
 <p class='summary'>*cupsBackSide: keyword</p>
 
@@ -1476,7 +1476,7 @@ will be ignored.</p>
 </table>
 </div>
 
-<p><em>* - Not supported in Mac OS X 10.5.x and earlier</em></p>
+<p><em>* - Not supported in OS X 10.5.x and earlier</em></p>
 
 <div class='figure'><table summary='Back side images'>
 <caption>Figure 1: Back side images</caption>
@@ -1496,7 +1496,7 @@ will be ignored.</p>
 <p>Also see the related <a href='#APDuplexRequiresFlippedMargin'><tt>APDuplexRequiresFlippedMargin</tt></a>
 keyword.</p>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsCommands'>cupsCommands</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsCommands'>cupsCommands</a></h3>
 
 <p class='summary'>*cupsCommands: "name name2 ... nameN"</p>
 
@@ -1512,7 +1512,7 @@ by whitespace.</p>
 </pre>
 
 
-<h3><span class='info'>CUPS 1.3/Mac OS X 10.5</span><a name='cupsEvenDuplex'>cupsEvenDuplex</a></h3>
+<h3><span class='info'>CUPS 1.3/OS X 10.5</span><a name='cupsEvenDuplex'>cupsEvenDuplex</a></h3>
 
 <p class='summary'>*cupsEvenDuplex: boolean</p>
 
@@ -1590,21 +1590,21 @@ the special filter program "-" may be specified.</p>
 
 <p class='summary'>*cupsFlipDuplex: boolean</p>
 
-<p>Due to implementation differences between Mac OS X and Ghostscript,
+<p>Due to implementation differences between OS X and Ghostscript,
 the <tt>cupsFlipDuplex</tt> keyword is deprecated. Instead, use
 the <a href='#cupsBackSide'><tt>cupsBackSide</tt></a> keyword to specify
 the coordinate system (pixel layout) of the page data on the back side of
 duplex pages.</p>
 
 <p>The value <code>true</code> maps to a <tt>cupsBackSide</tt> value
-of <code>Rotated</code> on Mac OS X and <code>Flipped</code> with
+of <code>Rotated</code> on OS X and <code>Flipped</code> with
 Ghostscript.</p>
 
 <p>The default value is <code>false</code>.</p>
 
 <blockquote><b>Note:</b>
 
-<p>Mac OS X drivers that previously used
+<p>OS X drivers that previously used
 <tt>cupsFlipDuplex</tt> may wish to provide both the old and
 new keywords for maximum compatibility, for example:</p>
 
@@ -1621,7 +1621,7 @@ Ghostscript can use:</p>
 *cupsFlipDuplex: true
 </pre></blockquote>
 
-<h3><span class='info'>CUPS 1.3/Mac OS X 10.5</span><a name='cupsIPPFinishings'>cupsIPPFinishings</a></h3>
+<h3><span class='info'>CUPS 1.3/OS X 10.5</span><a name='cupsIPPFinishings'>cupsIPPFinishings</a></h3>
 
 <p class='summary'>*cupsIPPFinishings number/text: "*Option Choice ..."</p>
 
@@ -1637,7 +1637,7 @@ values to PPD options and choices.</p>
 *cupsIPPFinishings 21/staple-bottom-left: "*StapleLocation SingleLandscape"
 </pre>
 
-<h3><span class='info'>CUPS 1.3/Mac OS X 10.5</span><a name='cupsIPPReason'>cupsIPPReason</a></h3>
+<h3><span class='info'>CUPS 1.3/OS X 10.5</span><a name='cupsIPPReason'>cupsIPPReason</a></h3>
 
 <p class='summary'>*cupsIPPReason reason/Reason Text: "optional URIs"</p>
 
@@ -1690,7 +1690,7 @@ http://www.vendor.com/help"
 *cupsIPPSupplies: False
 </pre>
 
-<h3><span class='info'>CUPS 1.2/Mac OS X 10.5</span><a name='cupsLanguages'>cupsLanguages</a></h3>
+<h3><span class='info'>CUPS 1.2/OS X 10.5</span><a name='cupsLanguages'>cupsLanguages</a></h3>
 
 <p class='summary'>*cupsLanguages: "locale list"</p>
 
@@ -1720,7 +1720,7 @@ hardware. The default value is <code>false</code>.</p>
 *cupsManualCopies: true
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsMarkerName'>cupsMarkerName</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsMarkerName'>cupsMarkerName</a></h3>
 
 <p class='summary'>*cupsMarkerName/Name Text: ""</p>
 
@@ -1734,7 +1734,7 @@ generated by the driver to human readable text.</p>
 *cupsMarkerName cyanToner/Cyan Toner: ""
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsMarkerNotice'>cupsMarkerNotice</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsMarkerNotice'>cupsMarkerNotice</a></h3>
 
 <p class='summary'>*cupsMarkerNotice: "disclaimer text"</p>
 
@@ -1748,7 +1748,7 @@ are approximate".</p>
 *cupsMarkerNotice: "Supply levels are approximate."
 </pre>
 
-<h3><span class='info'>CUPS 1.6</span><a name='cupsMaxCopies'>cupsMaxCopies</a></h3>
+<h3><span class='info'>CUPS 1.6/OS X 10.8</span><a name='cupsMaxCopies'>cupsMaxCopies</a></h3>
 
 <p class='summary'>*cupsMaxCopies: integer</p>
 
@@ -1776,7 +1776,7 @@ the output for a specific model of printer.</p>
 *cupsModelNumber: 1234
 </pre>
 
-<h3><span class='info'>CUPS 1.3/Mac OS X 10.5</span><a name='cupsPJLCharset'>cupsPJLCharset</a></h3>
+<h3><span class='info'>CUPS 1.3/OS X 10.5</span><a name='cupsPJLCharset'>cupsPJLCharset</a></h3>
 
 <p class='summary'>*cupsPJLCharset: "ISO character set name"</p>
 
@@ -1791,7 +1791,7 @@ assumed.</p>
 *cupsPJLCharset: "UTF-8"
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsPJLDisplay'>cupsPJLDisplay</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsPJLDisplay'>cupsPJLDisplay</a></h3>
 
 <p class='summary'>*cupsPJLDisplay: "what"</p>
 
@@ -1810,7 +1810,7 @@ to use "@PJL RDYMSG DISPLAY". The default is "job".</p>
 *cupsPJLDisplay: "none"
 </pre>
 
-<h3><span class='info'>CUPS 1.2/Mac OS X 10.5</span><a name='cupsPortMonitor'>cupsPortMonitor</a></h3>
+<h3><span class='info'>CUPS 1.2/OS X 10.5</span><a name='cupsPortMonitor'>cupsPortMonitor</a></h3>
 
 <p class='summary'>*cupsPortMonitor urischeme/Descriptive Text: "port monitor"</p>
 
@@ -1842,7 +1842,7 @@ to disable the port monitor for the given URI scheme.</p>
 *cupsPortMonitor usb/USB Status Monitor: "epson-usb"
 </pre>
 
-<h3><span class='info'>CUPS 1.3/Mac OS X 10.5</span><a name='cupsPreFilter'>cupsPreFilter</a></h3>
+<h3><span class='info'>CUPS 1.3/OS X 10.5</span><a name='cupsPreFilter'>cupsPreFilter</a></h3>
 
 <p class='summary'>*cupsPreFilter: "source/type cost program"</p>
 
@@ -1901,7 +1901,7 @@ before the filter that accepts the given MIME type.</p>
 *cupsSingleFile: True
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsSNMPSupplies'>cupsSNMPSupplies</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsSNMPSupplies'>cupsSNMPSupplies</a></h3>
 
 <p class='summary'>*cupsSNMPSupplies: boolean</p>
 
@@ -1932,7 +1932,7 @@ PPD file extensions was used. Currently it must be the string
 </pre>
 
 
-<h3><span class="info">CUPS 1.6</span><a name="JCLToPDFInterpreter">JCLToPDFInterpreter</a></h3>
+<h3><span class="info">CUPS 1.6/OS X 10.8</span><a name="JCLToPDFInterpreter">JCLToPDFInterpreter</a></h3>
 
 <p class="summary">*JCLToPDFInterpreter: "JCL"</p>
 
@@ -1946,9 +1946,9 @@ PPD file extensions was used. Currently it must be the string
 </pre>
 
 
-<h2 class='title'><a name='MACOSX'>Mac OS X Attributes</a></h2>
+<h2 class='title'><a name='MACOSX'>OS X Attributes</a></h2>
 
-<h3><span class='info'>Mac OS X 10.3</span><a name='APDialogExtension'>APDialogExtension</a></h3>
+<h3><span class='info'>OS X 10.3</span><a name='APDialogExtension'>APDialogExtension</a></h3>
 
 <p class='summary'>*APDialogExtension: "/Library/Printers/vendor/filename.plugin"</p>
 
@@ -1960,7 +1960,7 @@ plug-ins.</p>
 
 <blockquote><b>Note:</b>
 
-<p>Starting with Mac OS X 10.5, each plug-in must be compiled "4-way fat"
+<p>Starting with OS X 10.5, each plug-in must be compiled "4-way fat"
 (32-bit and 64-bit for both PowerPC and Intel) with garbage collection enabled
 in order to be usable with all applications.</p>
 
@@ -1974,7 +1974,7 @@ in order to be usable with all applications.</p>
 *APDialogExtension: "/Library/Printers/vendor/options.plugin"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.4</span><a name='APDuplexRequiresFlippedMargin'>APDuplexRequiresFlippedMargin</a></h3>
+<h3><span class='info'>OS X 10.4</span><a name='APDuplexRequiresFlippedMargin'>APDuplexRequiresFlippedMargin</a></h3>
 
 <p class='summary'>*APDuplexRequiresFlippedMargin: boolean</p>
 
@@ -2071,7 +2071,7 @@ looking up IPP reason codes for this printer driver. The
 *APHelpBook: "file:///Library/Printers/vendor/Help.bundle"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.6</span><a name='APICADriver'>APICADriver</a></h3>
+<h3><span class='info'>OS X 10.6</span><a name='APICADriver'>APICADriver</a></h3>
 
 <p class='summary'>*APICADriver: boolean</p>
 
@@ -2085,7 +2085,7 @@ Architecture (ICA) driver for scanning. The default is <tt>False</tt>.</p>
 *APScanAppBundleID: "com.apple.ImageCaptureApp"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.3</span><a name='APPrinterIconPath'>APPrinterIconPath</a></h3>
+<h3><span class='info'>OS X 10.3</span><a name='APPrinterIconPath'>APPrinterIconPath</a></h3>
 
 <p class='summary'>*APPrinterIconPath: "/Library/Printers/vendor/filename.icns"</p>
 
@@ -2099,7 +2099,7 @@ displaying the printer. The file must be in the Apple icon format.</p>
 *APPrinterIconPath: "/Library/Printers/vendor/Icons/filename.icns"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.4</span><a name='APPrinterLowInkTool'>APPrinterLowInkTool</a></h3>
+<h3><span class='info'>OS X 10.4</span><a name='APPrinterLowInkTool'>APPrinterLowInkTool</a></h3>
 
 <p class='summary'>*APPrinterLowInkTool: "/Library/Printers/vendor/program"</p>
 
@@ -2116,7 +2116,7 @@ Technical Note TN2144</a> for more information.</p>
 *APPrinterLowInkTool: "/Library/Printers/vendor/Tools/lowinktool"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.5</span><a name='APPrinterPreset'>APPrinterPreset</a></h3>
+<h3><span class='info'>OS X 10.5</span><a name='APPrinterPreset'>APPrinterPreset</a></h3>
 
 <p class='summary'>*APPrinterPreset name/text: "*Option Choice ..."</p>
 
@@ -2186,7 +2186,7 @@ choice (*MainKeyword OptionKeyword) or a preset identifier and value
 *fr.APPrinterPreset Photo_on_Photo_Paper/Photo sur papier photographique: ""
 </pre>
 
-<h3><span class='info'>Mac OS X 10.3</span><a name='APPrinterUtilityPath'>APPrinterUtilityPath</a></h3>
+<h3><span class='info'>OS X 10.3</span><a name='APPrinterUtilityPath'>APPrinterUtilityPath</a></h3>
 
 <p class='summary'>*APPrinterPrinterUtilityPath: "/Library/Printers/vendor/filename.app"</p>
 
@@ -2201,7 +2201,7 @@ information.</p>
 *APPrinterPrinterUtilityPath: "/Library/Printers/vendor/Tools/utility.app"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.6</span><a name='APScannerOnly'>APScannerOnly</a></h3>
+<h3><span class='info'>OS X 10.6</span><a name='APScannerOnly'>APScannerOnly</a></h3>
 
 <p class='summary'>*APScannerOnly: boolean</p>
 
@@ -2215,7 +2215,7 @@ capabilities. The default is <tt>False</tt>.</p>
 *APScannerOnly: True
 </pre>
 
-<h3><span class='info'>Mac OS X 10.3</span><a name='APScanAppBundleID'>APScanAppBundleID</a></h3>
+<h3><span class='info'>OS X 10.3</span><a name='APScanAppBundleID'>APScanAppBundleID</a></h3>
 
 <p class='summary'>*APScanAppBundleID: "bundle ID"</p>
 
@@ -2304,7 +2304,7 @@ the device.</p>
 
 <ul>
 
-       <li>Added missing Mac OS X <tt>AP</tt> keywords.</li>
+       <li>Added missing OS X <tt>AP</tt> keywords.</li>
 
        <li>Added section on auto-configuration including the
        <tt>OID<i>MainKeyword</i></tt> and <tt>?<i>MainKeyword</i></tt>
index 23a4c185a3cc2e5a57efa0176dd9cce96305916b..159135b85b4c199e8e0fee272af4c133bc8129b1 100644 (file)
@@ -10,20 +10,21 @@ raster.o: raster.c ../cups/raster-private.h ../cups/raster.h \
   ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h \
   ../cups/http.h ../cups/array.h ../cups/language.h ../cups/ppd.h \
   ../cups/debug-private.h ../cups/string-private.h ../config.h
-commandtops.o: commandtops.c ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/sidechannel.h
-gziptoany.o: gziptoany.c ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h
+commandtops.o: commandtops.c ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/sidechannel.h
+gziptoany.o: gziptoany.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
 common.o: common.c common.h ../cups/string-private.h ../config.h \
   ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h \
   ../cups/http.h ../cups/array.h ../cups/language.h ../cups/ppd.h
@@ -46,13 +47,14 @@ rastertolabel.o: rastertolabel.c ../cups/cups.h ../cups/file.h \
   ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
   ../cups/language.h ../cups/ppd.h ../cups/string-private.h ../config.h \
   ../cups/language-private.h ../cups/transcode.h ../cups/raster.h
-rastertopwg.o: rastertopwg.c ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/raster.h
+rastertopwg.o: rastertopwg.c ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/raster.h
 testraster.o: testraster.c ../cups/raster-private.h ../cups/raster.h \
   ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h \
   ../cups/http.h ../cups/array.h ../cups/language.h ../cups/ppd.h \
index a309022eae2025de708c5f7227d5a6dfd83b5844..fff478dcfeabe3215cfafcaecb466eeb73fa904a 100644 (file)
@@ -3,7 +3,7 @@
 
   Raster API introduction for CUPS.
 
-  Copyright 2007-2011 by Apple Inc.
+  Copyright 2007-2012 by Apple Inc.
   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 
   These coded instructions, statements, and computer programs are the
@@ -22,7 +22,7 @@ avoid incompatibilities with newer versions of CUPS.</p>
 
 <p>Two kinds of CUPS filters use the CUPS raster API - raster image processor
 (RIP) filters such as <code>pstoraster</code> and <code>cgpdftoraster</code>
-(Mac OS X) that produce CUPS raster files and printer driver filters that
+(OS X) that produce CUPS raster files and printer driver filters that
 convert CUPS raster files into a format usable by the printer. Printer
 driver filters are by far the most common.</p>
 
@@ -142,7 +142,7 @@ the memory used to read the raster file:</p>
 
 <ul class="code">
 
-       <li><a href="#cupsRasterReadHeader" title="Read a raster page header and store it in a version 1 page header structure.">cupsRasterReadHeader</a> <span class="info">Deprecated in CUPS 1.2/Mac OS X 10.5</span></li>
+       <li><a href="#cupsRasterReadHeader" title="Read a raster page header and store it in a version 1 page header structure.">cupsRasterReadHeader</a> <span class="info">Deprecated in CUPS 1.2/OS X 10.5</span></li>
        <li><a href="#cupsRasterReadHeader2" title="Read a raster page header and store it in a version 2 page header structure.">cupsRasterReadHeader2</a></li>
        <li><a href="#cupsRasterReadPixels" title="Read raster pixels.">cupsRasterReadPixels</a></li>
 
@@ -153,8 +153,8 @@ the memory used to read the raster file:</p>
 <ul class="code">
 
        <li><a href="#cupsRasterInterpretPPD" title="Interpret PPD commands to create a page header.">cupsRasterInterpretPPD</a></li>
-       <li><a href="#cupsRasterWriteHeader" title="Write a raster page header from a version 1 page header structure.">cupsRasterWriteHeader</a> <span class="info">Deprecated in CUPS 1.2/Mac OS X 10.5</span></li>
+       <li><a href="#cupsRasterWriteHeader" title="Write a raster page header from a version 1 page header structure.">cupsRasterWriteHeader</a> <span class="info">Deprecated in CUPS 1.2/OS X 10.5</span></li>
        <li><a href="#cupsRasterWriteHeader2" title="Write a raster page header from a version 2 page header structure.">cupsRasterWriteHeader2</a></li>
        <li><a href="#cupsRasterWritePixels" title="Write raster pixels.">cupsRasterWritePixels</a></li>
-       
+
 </ul>
index e49a443b65dbb1ae65a9b1a4a8d6a6045ed07ef1..fd8e35a02cc00c97c605526966bb383574bd5f20 100644 (file)
@@ -71,7 +71,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
     */
 
     _cupsLangPrintf(stderr,
-                    _("Usage: %s job-id user title copies options file"),
+                    _("Usage: %s job-id user title copies options [file]"),
                     argv[0]);
     return (1);
   }
index a73186926826148e965f4af97121b2f58cf5d485..08edebb6724a14189bd39edeac7df343b253ab3b 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Raster error handling for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -138,7 +138,7 @@ _cupsRasterClearError(void)
  *
  * If there are no recent errors, NULL is returned.
  *
- * @since CUPS 1.3/Mac OS X 10.5@
+ * @since CUPS 1.3/OS X 10.5@
  */
 
 const char *                           /* O - Last error */
index 404ce6e3a3a5149818273c0b8bd43468968aa399..09a636b1424b842cbf41fb03e4e35f6d7bc8f999 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   GZIP/raw pre-filter for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1993-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -47,7 +47,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
   if (argc != 7)
   {
     _cupsLangPrintf(stderr,
-                    _("Usage: %s job-id user title copies options file"),
+                    _("Usage: %s job-id user title copies options [file]"),
                     argv[0]);
     return (1);
   }
index 0c03edf6838d893195ea8656deb859b224cf72fd..7723f6569b6bd392ea32b1f674a73452ce8cbd17 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   PPD command interpreter for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1993-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -144,7 +144,7 @@ static void         DEBUG_stack(_cups_ps_stack_t *st);
  * @code pop@, @code roll@, @code setpagedevice@, and @code stopped@ operators
  * are supported.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 int                                    /* O - 0 on success, -1 on failure */
@@ -204,7 +204,7 @@ cupsRasterInterpretPPD(
 
 #ifdef __APPLE__
  /*
-  * cupsInteger0 is also used for the total page count on Mac OS X; set an
+  * cupsInteger0 is also used for the total page count on OS X; set an
   * uncommon default value so we can tell if the driver is using cupsInteger0.
   */
 
index b4fef953e603886ac80ead74ff49ae472ca4fa6d..08e4c175bb5ee43ce611f161a5c2b67acde68eaa 100644 (file)
@@ -3,7 +3,7 @@
 
   PostScript printer driver documentation for CUPS.
 
-  Copyright 2007-2010 by Apple Inc.
+  Copyright 2007-2012 by Apple Inc.
   Copyright 1997-2007 by Easy Software Products.
 
   These coded instructions, statements, and computer programs are the
@@ -15,7 +15,7 @@
 
 <h1 class='title'>Developing PostScript Printer Drivers</h1>
 
-<p>This document describes how to develop printer drivers for PostScript printers. Topics include: <a href='#BASICS'>printer driver basics</a>, <a href='#CREATE'>creating new PPD files</a>, <a href='#IMPORT'>importing existing PPD files</a>, <a href='#FILTERS'>using custom filters</a>, <a href='#COLOR'>implementing color management</a>, and <a href='#MACOSX'>adding Mac OS X features</a>.</p>
+<p>This document describes how to develop printer drivers for PostScript printers. Topics include: <a href='#BASICS'>printer driver basics</a>, <a href='#CREATE'>creating new PPD files</a>, <a href='#IMPORT'>importing existing PPD files</a>, <a href='#FILTERS'>using custom filters</a>, <a href='#COLOR'>implementing color management</a>, and <a href='#MACOSX'>adding OS X features</a>.</p>
 
 <div class='summary'><table summary='General Information'>
 <tbody>
index 439744f0fa8b1dd7181f667607991296369c72be..5e93f85806b13af446864ce27026b39574758160 100644 (file)
@@ -69,7 +69,7 @@
               dup [612 792] (Letter) put
               dup [612 1008] (Legal) put
               dup [595 842] (A4) put
-              {exch aload pop 4 index sub abs 5 le exch 
+              {exch aload pop 4 index sub abs 5 le exch
                5 index sub abs 5 le and
               {exch pop exit} {pop} ifelse
       } bind forall = flush pop pop
               dup [612 792] (Letter) put
               dup [612 1008] (Legal) put
               dup [595 842] (A4) put
-              {exch aload pop 4 index sub abs 5 le exch 
+              {exch aload pop 4 index sub abs 5 le exch
                5 index sub abs 5 le and
               {exch pop exit} {pop} ifelse
       } bind forall = flush pop pop
@@ -264,9 +264,9 @@ information file.</P>
 <p>The options used for profile selection can be customized using the <tt>cupsICCQualifier2</tt> and <tt>cupsICCQualifier3</tt> attributes.</p>
 
 
-<h2 class='title'><a name='MACOSX'>Adding Mac OS X Features</a></h2>
+<h2 class='title'><a name='MACOSX'>Adding OS X Features</a></h2>
 
-<p>Mac OS X printer drivers can provide <a href='spec-ppd.html#MACOSX'>additional attributes</a> to specify additional option panes in the print dialog, an image of the printer, a help book, and option presets for the driver software:</p>
+<p>OS X printer drivers can provide <a href='spec-ppd.html#MACOSX'>additional attributes</a> to specify additional option panes in the print dialog, an image of the printer, a help book, and option presets for the driver software:</p>
 
 <pre class='example'>
 <a href='ref-ppdcfile.html#Attribute'>Attribute</a> APDialogExtension "" /Library/Printers/Vendor/filename.plugin
index c98b95cee6ca8ff9ed7006350a5afe5455e84e40..dca2870f2521c5674d20ceb1d8bc147efdb2be29 100644 (file)
@@ -205,7 +205,7 @@ follows:</P>
 
        <LI>Bits per color. In the example file, we define 8 bits per color, for
        a continuous-tone grayscale output. All versions of CUPS support 1 and
-       8 bits per color.  CUPS 1.2 and higher (Mac OS X 10.5 and higher) also
+       8 bits per color.  CUPS 1.2 and higher (OS X 10.5 and higher) also
        supports 16 bits per color.</LI>
 
        <LI>Rows per band. In the example file, we define 0 rows per band to
index 1688d92878560b9984319d070783862415b7aea5..bcc8d2b4d22611133c856d0d7a92f3833b4f9763 100644 (file)
@@ -261,7 +261,7 @@ main(int  argc,                             /* I - Number of command-line args */
   if (argc < 6 || argc > 7)
   {
     _cupsLangPrintf(stderr,
-                    _("Usage: %s job-id user title copies options file"),
+                    _("Usage: %s job-id user title copies options [file]"),
                     argv[0]);
     return (1);
   }
index 31fc607223c298f8cff01c990d6cae8615960658..b15c50d998c0f185c93f1449e61b81f96f9d1d64 100644 (file)
@@ -3,7 +3,7 @@
 
   Raster printer driver documentation for CUPS.
 
-  Copyright 2007-2010 by Apple Inc.
+  Copyright 2007-2012 by Apple Inc.
   Copyright 1997-2007 by Easy Software Products.
 
   These coded instructions, statements, and computer programs are the
@@ -15,7 +15,7 @@
 
 <h1 class='title'>Developing Raster Printer Drivers</h1>
 
-<p>This document describes how to develop printer drivers for raster printers. Topics include: <a href='#BASICS'>printer driver basics</a>, <a href='#CREATE'>creating new PPD files</a>, <a href='#FILTERS'>using filters</a>, <a href='#COLOR'>implementing color management</a>, and <a href='#MACOSX'>adding Mac OS X features</a>.</p>
+<p>This document describes how to develop printer drivers for raster printers. Topics include: <a href='#BASICS'>printer driver basics</a>, <a href='#CREATE'>creating new PPD files</a>, <a href='#FILTERS'>using filters</a>, <a href='#COLOR'>implementing color management</a>, and <a href='#MACOSX'>adding OS X features</a>.</p>
 
 <div class='summary'><table summary='General Information'>
 <tbody>
index 1c0c32a9d09d69acfc3e3b8b095b24f1395b112f..f56982a77159cc27fbbad2a86e5b42334017593a 100644 (file)
 
 <p>The options used for profile selection can be customized using the <tt>cupsICCQualifier2</tt> and <tt>cupsICCQualifier3</tt> attributes.</p>
 
-<h3><span class='info'>Since Mac OS X 10.5</span>Custom Color Matching Support</h3>
+<h3><span class='info'>Since OS X 10.5</span>Custom Color Matching Support</h3>
 
-<p>Mac OS X printer drivers that are based on an existing standard RGB colorspace can tell the system to use the corresponding colorspace instead of an arbitrary ICC color profile when doing color management. The <a href='#APCustom'><tt>APSupportsCustomColorMatching</tt></a> and <tt>APDefaultCustomColorMatchingProfile</tt> attributes can be used to enable this mode:</p>
+<p>OS X printer drivers that are based on an existing standard RGB colorspace can tell the system to use the corresponding colorspace instead of an arbitrary ICC color profile when doing color management. The <a href='#APCustom'><tt>APSupportsCustomColorMatching</tt></a> and <tt>APDefaultCustomColorMatchingProfile</tt> attributes can be used to enable this mode:</p>
 
 <pre class='example'>
 <a href='ref-ppdcfile.html#Attribute'>Attribute</a> APSupportsCustomColorMatching "" true
 </pre>
 
 
-<h2 class='title'><a name='MACOSX'>Adding Mac OS X Features</a></h2>
+<h2 class='title'><a name='MACOSX'>Adding OS X Features</a></h2>
 
-<p>Mac OS X printer drivers can provide <a href='spec-ppd.html#MACOSX'>additional attributes</a> to specify additional option panes in the print dialog, an image of the printer, a help book, and option presets for the driver software:</p>
+<p>OS X printer drivers can provide <a href='spec-ppd.html#MACOSX'>additional attributes</a> to specify additional option panes in the print dialog, an image of the printer, a help book, and option presets for the driver software:</p>
 
 <pre class='example'>
 <a href='ref-ppdcfile.html#Attribute'>Attribute</a> APDialogExtension "" /Library/Printers/Vendor/filename.plugin
index dd3ef5a30eba194efe328488d89763b45911b6ef..14980f4a8c99163d3b128c8fdcdb62e246c47c76 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Raster file routines for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   This file is part of the CUPS Imaging library.
@@ -294,7 +294,7 @@ cupsRasterReadHeader(
  * 'cupsRasterReadHeader2()' - Read a raster page header and store it in a
  *                             version 2 page header structure.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 unsigned                               /* O - 1 on success, 0 on failure/end-of-file */
@@ -648,7 +648,7 @@ cupsRasterWriteHeader(
  *
  * The page header can be initialized using @link cupsRasterInterpretPPD@.
  *
- * @since CUPS 1.2/Mac OS X 10.5@
+ * @since CUPS 1.2/OS X 10.5@
  */
 
 unsigned                               /* O - 1 on success, 0 on failure */
index 7da6a689975c2ee7d928a5f87113ab0f73911ade..08135bcc10732fdbbdbeca0be5d2dc663146c11c 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   EPSON ESC/P and ESC/P2 filter for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1993-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -1148,10 +1148,7 @@ main(int  argc,                          /* I - Number of command-line arguments */
     return (1);
   }
   else
-  {
-    _cupsLangPrintFilter(stderr, "INFO", _("Ready to print."));
     return (0);
-  }
 }
 
 
index c714fd774e8e98e0a997f0fae79c07475240107d..b7390c124dd1ed9fe5f71b739112aa5d6d029a34 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Hewlett-Packard Page Control Language filter for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1993-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -877,10 +877,7 @@ main(int  argc,                            /* I - Number of command-line arguments */
     return (1);
   }
   else
-  {
-    _cupsLangPrintFilter(stderr, "INFO", _("Ready to print."));
     return (0);
-  }
 }
 
 
index fcd8ebca7fc7bf7297933af17cd0b2e5e65fbd59..4c0860ccc6e3d6fbf5ae9f9a9affb4515ca1c091 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Label printer filter for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 2001-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -1303,10 +1303,7 @@ main(int  argc,                          /* I - Number of command-line arguments */
     return (1);
   }
   else
-  {
-    _cupsLangPrintFilter(stderr, "INFO", _("Ready to print."));
     return (0);
-  }
 }
 
 
index 5ef9f6a40ba667ea633c29c8ddc0c93d5787a9f1..1776027908cc180c2641ce312d87c99b24bbe11f 100644 (file)
@@ -30,11 +30,11 @@ LINE-END = CR / LF / CR LF
 
 <p>CUPS supports several methods of auto-configuration via PPD keywords.</p>
 
-<h3><span class='info'>Mac OS X 10.5</span><a name='APAutoSetupTool'>APAutoSetupTool</a></h3>
+<h3><span class='info'>OS X 10.5</span><a name='APAutoSetupTool'>APAutoSetupTool</a></h3>
 
 <p class='summary'>*APAutoSetupTool: "/LibraryPrinters/vendor/filename"</p>
 
-<p>This Mac OS X keyword defines a program that sets the default option choices. It is run when a printer is added from the <var>Add Printer</var> window or the <var>Nearby Printers</var> list in the <var>Print</var> dialog.</p>
+<p>This OS X keyword defines a program that sets the default option choices. It is run when a printer is added from the <var>Add Printer</var> window or the <var>Nearby Printers</var> list in the <var>Print</var> dialog.</p>
 
 <p>The program is provided with two arguments: the printer's device URI and the PPD file to be used for the printer. The program must write an updated PPD file to stdout.</p>
 
@@ -45,7 +45,7 @@ LINE-END = CR / LF / CR LF
 *APAutoSetupTool: "/Library/Printers/vendor/Tools/autosetuptool"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.2/CUPS 1.4</span><a name='QUERYKEYWORD'>?MainKeyword</a></h3>
+<h3><span class='info'>OS X 10.2/CUPS 1.4</span><a name='QUERYKEYWORD'>?MainKeyword</a></h3>
 
 <p class='summary'>*?<i>MainKeyword</i>: "<br>
   PostScript query code that writes a message using the = operator...<br>
@@ -74,7 +74,7 @@ LINE-END = CR / LF / CR LF
 *CloseUI: OptionDuplex
 </pre>
 
-<h3><span class='info'>Mac OS X 10.4/CUPS 1.5</span><a name='OID'>OIDMainKeyword</a></h3>
+<h3><span class='info'>OS X 10.4/CUPS 1.5</span><a name='OID'>OIDMainKeyword</a></h3>
 
 <p class='summary'>*?OID<i>MainKeyword</i>: ".n.n.n..."<br>
 *OID<i>MainKeyword</i> <i>OptionKeyword1</i>: "value"<br>
@@ -109,7 +109,7 @@ LINE-END = CR / LF / CR LF
 
 <p class='summary'>*cupsColorProfile Resolution/MediaType: "density gamma m00 m01 m02 m10 m11 m12 m20 m21 m22"</p>
 
-<p>This string keyword specifies an sRGB-based color profile consisting of gamma and density controls and a 3x3 CMY color transform matrix. <em>This keyword is not supported on Mac OS X.</em></p>
+<p>This string keyword specifies an sRGB-based color profile consisting of gamma and density controls and a 3x3 CMY color transform matrix. <em>This keyword is not supported on OS X.</em></p>
 
 <p>The <i>Resolution</i> and <i>MediaType</i> values may be "-" to act as a wildcard. Otherwise they must match one of the <tt>Resolution</tt> or <tt>MediaType</tt> option keywords defined in the PPD file.</p>
 
@@ -142,7 +142,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 </pre>
 
 
-<h3><span class='info'>Mac OS X 10.3/CUPS 1.2</span><a name='cupsICCProfile'>cupsICCProfile</a></h3>
+<h3><span class='info'>OS X 10.3/CUPS 1.2</span><a name='cupsICCProfile'>cupsICCProfile</a></h3>
 
 <p class='summary'>*cupsICCProfile ColorModel.MediaType.Resolution/Description: "filename"</p>
 
@@ -181,22 +181,22 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 *cupsICCQualifier3: Resolution
 </pre>
 
-<h3><span class='info'>Mac OS X 10.4</span><a name='APCustom'>Custom Color Matching Support</a></h3>
+<h3><span class='info'>OS X 10.4</span><a name='APCustom'>Custom Color Matching Support</a></h3>
 
 <p class='summary'>*<a href='#APSupportsCustomColorMatching'>APSupportsCustomColorMatching</a>: true<br>
 *<a href='#APCustomColorMatchingName'>APCustomColorMatchingName</a> name/text: ""<br>
 *<a href='#APCustomColorMatchingProfile'>APCustomColorMatchingProfile</a>: profile<br>
 *<a href='#APDefaultCustomColorMatchingProfile'>APDefaultCustomColorMatchingProfile</a>: profile</p>
 
-<p>These keywords tell the Mac OS X raster filters that the printer driver provides its own custom color matching and that generic color profiles should be used when generating 1-, 3-, and 4-component raster data as requested by the driver. The <tt>APCustomColorMatchingProfile</tt> and <tt>APDefaultColorMatchingProfile</tt> keywords specify alternate color profiles (sRGB or AdobeRGB) to use for 3-color (RGB) raster data.</p>
+<p>These keywords tell the OS X raster filters that the printer driver provides its own custom color matching and that generic color profiles should be used when generating 1-, 3-, and 4-component raster data as requested by the driver. The <tt>APCustomColorMatchingProfile</tt> and <tt>APDefaultColorMatchingProfile</tt> keywords specify alternate color profiles (sRGB or AdobeRGB) to use for 3-color (RGB) raster data.</p>
 
 <blockquote><b>Note:</b>
 
-<p>Prior to Mac OS X 10.6, the default RGB color space was Apple's "GenericRGB". The new default in Mac OS X 10.6 and later is "sRGB". For more information, see <a href="http://support.apple.com/kb/HT3712">"Mac OS X v10.6: About gamma 2.2"</a> on Apple's support site.</p>
+<p>Prior to OS X 10.6, the default RGB color space was Apple's "GenericRGB". The new default in OS X 10.6 and later is "sRGB". For more information, see <a href="http://support.apple.com/kb/HT3712">"OS X v10.6: About gamma 2.2"</a> on Apple's support site.</p>
 
 </blockquote>
 
-<h4><span class='info'>Mac OS X 10.5</span><a name='APCustomColorMatchingName'>APCustomColorMatchingName</a></h4>
+<h4><span class='info'>OS X 10.5</span><a name='APCustomColorMatchingName'>APCustomColorMatchingName</a></h4>
 
 <p class='summary'>*APCustomColorMatchingName name/text: ""</p>
 
@@ -210,7 +210,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 *fr.APCustomColorMatchingName name/La AcmeColor(tm): ""
 </pre>
 
-<h4><span class='info'>Mac OS X 10.5</span><a name='APCustomColorMatchingProfile'>APCustomColorMatchingProfile</a></h4>
+<h4><span class='info'>OS X 10.5</span><a name='APCustomColorMatchingProfile'>APCustomColorMatchingProfile</a></h4>
 
 <p class='summary'>*APCustomColorMatchingProfile: name</p>
 
@@ -232,7 +232,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 *APCustomColorMatchingProfile: AdobeRGB
 </pre>
 
-<h4><span class='info'>Mac OS X 10.5</span><a name='APDefaultCustomColorMatchingProfile'>APDefaultCustomColorMatchingProfile</a></h4>
+<h4><span class='info'>OS X 10.5</span><a name='APDefaultCustomColorMatchingProfile'>APDefaultCustomColorMatchingProfile</a></h4>
 
 <p class='summary'>*APDefaultCustomColorMatchingProfile: name</p>
 
@@ -246,7 +246,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 *APDefaultCustomColorMatchingProfile: sRGB
 </pre>
 
-<h4><span class='info'>Mac OS X 10.4</span><a name='APSupportsCustomColorMatching'>APSupportsCustomColorMatching</a></h4>
+<h4><span class='info'>OS X 10.4</span><a name='APSupportsCustomColorMatching'>APSupportsCustomColorMatching</a></h4>
 
 <p class='summary'>*APSupportsCustomColorMatching: boolean</p>
 
@@ -282,7 +282,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 
 </blockquote>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsUIConstraints'>cupsUIConstraints</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsUIConstraints'>cupsUIConstraints</a></h3>
 
 <p class='summary'>*cupsUIConstraints resolver: "*Keyword1 *Keyword2 ..."<br>
 *cupsUIConstraints resolver: "*Keyword1 OptionKeyword1 *Keyword2 ..."<br>
@@ -312,7 +312,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 *cupsUIConstraints photo: "*OutputMode Photo *MediaType Transparency *Resolution 1200dpi"
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsUIResolver'>cupsUIResolver</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsUIResolver'>cupsUIResolver</a></h3>
 
 <p class='summary'>*cupsUIResolver resolver: "*Keyword1 OptionKeyword1 *Keyword2 OptionKeyword2 ..."</p>
 
@@ -414,7 +414,7 @@ f(x) = density * x <sup style='font-size: 100%'>gamma</sup>
 </pre>
 
 
-<h2 class='title'><a name='OPTIONS'><span class="info">CUPS 1.3/Mac OS X 10.6</span>Custom Options</a></h2>
+<h2 class='title'><a name='OPTIONS'><span class="info">CUPS 1.3/OS X 10.6</span>Custom Options</a></h2>
 
 <p>CUPS supports custom options using an extension of the <tt>CustomPageSize</tt> and <tt>ParamCustomPageSize</tt> syntax:</p>
 
@@ -872,7 +872,7 @@ PRE B {
 <p>The CUPS media keywords allow drivers to specify alternate custom page
 size limits based on up to two options.</p>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsMediaQualifier2'>cupsMediaQualifier2</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsMediaQualifier2'>cupsMediaQualifier2</a></h3>
 
 <p class='summary'>*cupsMediaQualifier2: MainKeyword</p>
 
@@ -891,7 +891,7 @@ custom page size limits.</p>
 *cupsMinSize ..Photo: "300 300"
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsMediaQualifier3'>cupsMediaQualifier3</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsMediaQualifier3'>cupsMediaQualifier3</a></h3>
 
 <p class='summary'>*cupsMediaQualifier3: MainKeyword</p>
 
@@ -910,7 +910,7 @@ custom page size limits.</p>
 *cupsMinSize ..Photo: "300 300"
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsMinSize'>cupsMinSize</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsMinSize'>cupsMinSize</a></h3>
 
 <p class='summary'>*cupsMinSize .Qualifier2.Qualifier3: "width length"<br>
 *cupsMinSize .Qualifier2.: "width length"<br>
@@ -933,7 +933,7 @@ are used to identify options to use for matching.</p>
 *cupsMinSize ..Photo: "300 300"
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsMaxSize'>cupsMaxSize</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsMaxSize'>cupsMaxSize</a></h3>
 
 <p class='summary'>*cupsMaxSize .Qualifier2.Qualifier3: "width length"<br>
 *cupsMaxSize .Qualifier2.: "width length"<br>
@@ -959,7 +959,7 @@ are used to identify options to use for matching.</p>
 
 <h2 class='title'><a name='ATTRIBUTES'>General Attributes</a></h2>
 
-<h3><span class='info'>CUPS 1.3/Mac OS X 10.5</span><a name='cupsBackSide'>cupsBackSide</a></h3>
+<h3><span class='info'>CUPS 1.3/OS X 10.5</span><a name='cupsBackSide'>cupsBackSide</a></h3>
 
 <p class='summary'>*cupsBackSide: keyword</p>
 
@@ -1035,7 +1035,7 @@ will be ignored.</p>
 </table>
 </div>
 
-<p><em>* - Not supported in Mac OS X 10.5.x and earlier</em></p>
+<p><em>* - Not supported in OS X 10.5.x and earlier</em></p>
 
 <div class='figure'><table summary='Back side images'>
 <caption>Figure 1: Back side images</caption>
@@ -1055,7 +1055,7 @@ will be ignored.</p>
 <p>Also see the related <a href='#APDuplexRequiresFlippedMargin'><tt>APDuplexRequiresFlippedMargin</tt></a>
 keyword.</p>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsCommands'>cupsCommands</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsCommands'>cupsCommands</a></h3>
 
 <p class='summary'>*cupsCommands: "name name2 ... nameN"</p>
 
@@ -1071,7 +1071,7 @@ by whitespace.</p>
 </pre>
 
 
-<h3><span class='info'>CUPS 1.3/Mac OS X 10.5</span><a name='cupsEvenDuplex'>cupsEvenDuplex</a></h3>
+<h3><span class='info'>CUPS 1.3/OS X 10.5</span><a name='cupsEvenDuplex'>cupsEvenDuplex</a></h3>
 
 <p class='summary'>*cupsEvenDuplex: boolean</p>
 
@@ -1149,21 +1149,21 @@ the special filter program "-" may be specified.</p>
 
 <p class='summary'>*cupsFlipDuplex: boolean</p>
 
-<p>Due to implementation differences between Mac OS X and Ghostscript,
+<p>Due to implementation differences between OS X and Ghostscript,
 the <tt>cupsFlipDuplex</tt> keyword is deprecated. Instead, use
 the <a href='#cupsBackSide'><tt>cupsBackSide</tt></a> keyword to specify
 the coordinate system (pixel layout) of the page data on the back side of
 duplex pages.</p>
 
 <p>The value <code>true</code> maps to a <tt>cupsBackSide</tt> value
-of <code>Rotated</code> on Mac OS X and <code>Flipped</code> with
+of <code>Rotated</code> on OS X and <code>Flipped</code> with
 Ghostscript.</p>
 
 <p>The default value is <code>false</code>.</p>
 
 <blockquote><b>Note:</b>
 
-<p>Mac OS X drivers that previously used
+<p>OS X drivers that previously used
 <tt>cupsFlipDuplex</tt> may wish to provide both the old and
 new keywords for maximum compatibility, for example:</p>
 
@@ -1180,7 +1180,7 @@ Ghostscript can use:</p>
 *cupsFlipDuplex: true
 </pre></blockquote>
 
-<h3><span class='info'>CUPS 1.3/Mac OS X 10.5</span><a name='cupsIPPFinishings'>cupsIPPFinishings</a></h3>
+<h3><span class='info'>CUPS 1.3/OS X 10.5</span><a name='cupsIPPFinishings'>cupsIPPFinishings</a></h3>
 
 <p class='summary'>*cupsIPPFinishings number/text: "*Option Choice ..."</p>
 
@@ -1196,7 +1196,7 @@ values to PPD options and choices.</p>
 *cupsIPPFinishings 21/staple-bottom-left: "*StapleLocation SingleLandscape"
 </pre>
 
-<h3><span class='info'>CUPS 1.3/Mac OS X 10.5</span><a name='cupsIPPReason'>cupsIPPReason</a></h3>
+<h3><span class='info'>CUPS 1.3/OS X 10.5</span><a name='cupsIPPReason'>cupsIPPReason</a></h3>
 
 <p class='summary'>*cupsIPPReason reason/Reason Text: "optional URIs"</p>
 
@@ -1249,7 +1249,7 @@ http://www.vendor.com/help"
 *cupsIPPSupplies: False
 </pre>
 
-<h3><span class='info'>CUPS 1.2/Mac OS X 10.5</span><a name='cupsLanguages'>cupsLanguages</a></h3>
+<h3><span class='info'>CUPS 1.2/OS X 10.5</span><a name='cupsLanguages'>cupsLanguages</a></h3>
 
 <p class='summary'>*cupsLanguages: "locale list"</p>
 
@@ -1279,7 +1279,7 @@ hardware. The default value is <code>false</code>.</p>
 *cupsManualCopies: true
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsMarkerName'>cupsMarkerName</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsMarkerName'>cupsMarkerName</a></h3>
 
 <p class='summary'>*cupsMarkerName/Name Text: ""</p>
 
@@ -1293,7 +1293,7 @@ generated by the driver to human readable text.</p>
 *cupsMarkerName cyanToner/Cyan Toner: ""
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsMarkerNotice'>cupsMarkerNotice</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsMarkerNotice'>cupsMarkerNotice</a></h3>
 
 <p class='summary'>*cupsMarkerNotice: "disclaimer text"</p>
 
@@ -1307,7 +1307,7 @@ are approximate".</p>
 *cupsMarkerNotice: "Supply levels are approximate."
 </pre>
 
-<h3><span class='info'>CUPS 1.6</span><a name='cupsMaxCopies'>cupsMaxCopies</a></h3>
+<h3><span class='info'>CUPS 1.6/OS X 10.8</span><a name='cupsMaxCopies'>cupsMaxCopies</a></h3>
 
 <p class='summary'>*cupsMaxCopies: integer</p>
 
@@ -1335,7 +1335,7 @@ the output for a specific model of printer.</p>
 *cupsModelNumber: 1234
 </pre>
 
-<h3><span class='info'>CUPS 1.3/Mac OS X 10.5</span><a name='cupsPJLCharset'>cupsPJLCharset</a></h3>
+<h3><span class='info'>CUPS 1.3/OS X 10.5</span><a name='cupsPJLCharset'>cupsPJLCharset</a></h3>
 
 <p class='summary'>*cupsPJLCharset: "ISO character set name"</p>
 
@@ -1350,7 +1350,7 @@ assumed.</p>
 *cupsPJLCharset: "UTF-8"
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsPJLDisplay'>cupsPJLDisplay</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsPJLDisplay'>cupsPJLDisplay</a></h3>
 
 <p class='summary'>*cupsPJLDisplay: "what"</p>
 
@@ -1369,7 +1369,7 @@ to use "@PJL RDYMSG DISPLAY". The default is "job".</p>
 *cupsPJLDisplay: "none"
 </pre>
 
-<h3><span class='info'>CUPS 1.2/Mac OS X 10.5</span><a name='cupsPortMonitor'>cupsPortMonitor</a></h3>
+<h3><span class='info'>CUPS 1.2/OS X 10.5</span><a name='cupsPortMonitor'>cupsPortMonitor</a></h3>
 
 <p class='summary'>*cupsPortMonitor urischeme/Descriptive Text: "port monitor"</p>
 
@@ -1401,7 +1401,7 @@ to disable the port monitor for the given URI scheme.</p>
 *cupsPortMonitor usb/USB Status Monitor: "epson-usb"
 </pre>
 
-<h3><span class='info'>CUPS 1.3/Mac OS X 10.5</span><a name='cupsPreFilter'>cupsPreFilter</a></h3>
+<h3><span class='info'>CUPS 1.3/OS X 10.5</span><a name='cupsPreFilter'>cupsPreFilter</a></h3>
 
 <p class='summary'>*cupsPreFilter: "source/type cost program"</p>
 
@@ -1460,7 +1460,7 @@ before the filter that accepts the given MIME type.</p>
 *cupsSingleFile: True
 </pre>
 
-<h3><span class='info'>CUPS 1.4/Mac OS X 10.6</span><a name='cupsSNMPSupplies'>cupsSNMPSupplies</a></h3>
+<h3><span class='info'>CUPS 1.4/OS X 10.6</span><a name='cupsSNMPSupplies'>cupsSNMPSupplies</a></h3>
 
 <p class='summary'>*cupsSNMPSupplies: boolean</p>
 
@@ -1491,7 +1491,7 @@ PPD file extensions was used. Currently it must be the string
 </pre>
 
 
-<h3><span class="info">CUPS 1.6</span><a name="JCLToPDFInterpreter">JCLToPDFInterpreter</a></h3>
+<h3><span class="info">CUPS 1.6/OS X 10.8</span><a name="JCLToPDFInterpreter">JCLToPDFInterpreter</a></h3>
 
 <p class="summary">*JCLToPDFInterpreter: "JCL"</p>
 
@@ -1505,9 +1505,9 @@ PPD file extensions was used. Currently it must be the string
 </pre>
 
 
-<h2 class='title'><a name='MACOSX'>Mac OS X Attributes</a></h2>
+<h2 class='title'><a name='MACOSX'>OS X Attributes</a></h2>
 
-<h3><span class='info'>Mac OS X 10.3</span><a name='APDialogExtension'>APDialogExtension</a></h3>
+<h3><span class='info'>OS X 10.3</span><a name='APDialogExtension'>APDialogExtension</a></h3>
 
 <p class='summary'>*APDialogExtension: "/Library/Printers/vendor/filename.plugin"</p>
 
@@ -1519,7 +1519,7 @@ plug-ins.</p>
 
 <blockquote><b>Note:</b>
 
-<p>Starting with Mac OS X 10.5, each plug-in must be compiled "4-way fat"
+<p>Starting with OS X 10.5, each plug-in must be compiled "4-way fat"
 (32-bit and 64-bit for both PowerPC and Intel) with garbage collection enabled
 in order to be usable with all applications.</p>
 
@@ -1533,7 +1533,7 @@ in order to be usable with all applications.</p>
 *APDialogExtension: "/Library/Printers/vendor/options.plugin"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.4</span><a name='APDuplexRequiresFlippedMargin'>APDuplexRequiresFlippedMargin</a></h3>
+<h3><span class='info'>OS X 10.4</span><a name='APDuplexRequiresFlippedMargin'>APDuplexRequiresFlippedMargin</a></h3>
 
 <p class='summary'>*APDuplexRequiresFlippedMargin: boolean</p>
 
@@ -1630,7 +1630,7 @@ looking up IPP reason codes for this printer driver. The
 *APHelpBook: "file:///Library/Printers/vendor/Help.bundle"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.6</span><a name='APICADriver'>APICADriver</a></h3>
+<h3><span class='info'>OS X 10.6</span><a name='APICADriver'>APICADriver</a></h3>
 
 <p class='summary'>*APICADriver: boolean</p>
 
@@ -1644,7 +1644,7 @@ Architecture (ICA) driver for scanning. The default is <tt>False</tt>.</p>
 *APScanAppBundleID: "com.apple.ImageCaptureApp"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.3</span><a name='APPrinterIconPath'>APPrinterIconPath</a></h3>
+<h3><span class='info'>OS X 10.3</span><a name='APPrinterIconPath'>APPrinterIconPath</a></h3>
 
 <p class='summary'>*APPrinterIconPath: "/Library/Printers/vendor/filename.icns"</p>
 
@@ -1658,7 +1658,7 @@ displaying the printer. The file must be in the Apple icon format.</p>
 *APPrinterIconPath: "/Library/Printers/vendor/Icons/filename.icns"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.4</span><a name='APPrinterLowInkTool'>APPrinterLowInkTool</a></h3>
+<h3><span class='info'>OS X 10.4</span><a name='APPrinterLowInkTool'>APPrinterLowInkTool</a></h3>
 
 <p class='summary'>*APPrinterLowInkTool: "/Library/Printers/vendor/program"</p>
 
@@ -1675,7 +1675,7 @@ Technical Note TN2144</a> for more information.</p>
 *APPrinterLowInkTool: "/Library/Printers/vendor/Tools/lowinktool"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.5</span><a name='APPrinterPreset'>APPrinterPreset</a></h3>
+<h3><span class='info'>OS X 10.5</span><a name='APPrinterPreset'>APPrinterPreset</a></h3>
 
 <p class='summary'>*APPrinterPreset name/text: "*Option Choice ..."</p>
 
@@ -1745,7 +1745,7 @@ choice (*MainKeyword OptionKeyword) or a preset identifier and value
 *fr.APPrinterPreset Photo_on_Photo_Paper/Photo sur papier photographique: ""
 </pre>
 
-<h3><span class='info'>Mac OS X 10.3</span><a name='APPrinterUtilityPath'>APPrinterUtilityPath</a></h3>
+<h3><span class='info'>OS X 10.3</span><a name='APPrinterUtilityPath'>APPrinterUtilityPath</a></h3>
 
 <p class='summary'>*APPrinterPrinterUtilityPath: "/Library/Printers/vendor/filename.app"</p>
 
@@ -1760,7 +1760,7 @@ information.</p>
 *APPrinterPrinterUtilityPath: "/Library/Printers/vendor/Tools/utility.app"
 </pre>
 
-<h3><span class='info'>Mac OS X 10.6</span><a name='APScannerOnly'>APScannerOnly</a></h3>
+<h3><span class='info'>OS X 10.6</span><a name='APScannerOnly'>APScannerOnly</a></h3>
 
 <p class='summary'>*APScannerOnly: boolean</p>
 
@@ -1774,7 +1774,7 @@ capabilities. The default is <tt>False</tt>.</p>
 *APScannerOnly: True
 </pre>
 
-<h3><span class='info'>Mac OS X 10.3</span><a name='APScanAppBundleID'>APScanAppBundleID</a></h3>
+<h3><span class='info'>OS X 10.3</span><a name='APScanAppBundleID'>APScanAppBundleID</a></h3>
 
 <p class='summary'>*APScanAppBundleID: "bundle ID"</p>
 
@@ -1863,7 +1863,7 @@ the device.</p>
 
 <ul>
 
-       <li>Added missing Mac OS X <tt>AP</tt> keywords.</li>
+       <li>Added missing OS X <tt>AP</tt> keywords.</li>
 
        <li>Added section on auto-configuration including the
        <tt>OID<i>MainKeyword</i></tt> and <tt>?<i>MainKeyword</i></tt>
index 038521b55ea4a9dbdf82c2f1b0c1971276139ced..7a08bb2bc6e6f201f4afa483c6d8803e355bf8ca 100644 (file)
@@ -1,22 +1,22 @@
-checkpo.o: checkpo.c ../cups/cups-private.h ../cups/cups.h ../cups/file.h \
-  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
-  ../cups/language.h ../cups/string-private.h ../config.h \
-  ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h \
-  ../cups/pwg-private.h ../cups/http-private.h ../cups/md5-private.h \
-  ../cups/ipp-private.h ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
-po2strings.o: po2strings.c ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h
+checkpo.o: checkpo.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+po2strings.o: po2strings.c ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
 strings2po.o: strings2po.c
-translate.o: translate.c ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h
+translate.o: translate.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
index 351b4b2bd2d0c3e648d471be3d91b5a719322614..18049741011d2fb01e16d3dab23a6e242dc05834 100644 (file)
@@ -172,7 +172,7 @@ checkall:   checkpo
 
 #
 # po2strings - A simple utility which uses iconv to convert GNU gettext
-#              message catalogs to Mac OS X .strings files.
+#              message catalogs to OS X .strings files.
 #
 # po2strings filename.po filename.strings
 #
@@ -185,8 +185,8 @@ po2strings: po2strings.o ../cups/$(LIBCUPSSTATIC)
 
 
 #
-# strings2po - A simple utility which uses iconv to convert Mac OS X
-#              .strings files to GNU gettext message catalogs.
+# strings2po - A simple utility which uses iconv to convert OS X .strings files
+#              to GNU gettext message catalogs.
 #
 # strings2po filename.strings filename.po
 #
index c4a83b114c4a21b10dc3247b512249ddbc538743..89c33342e2b58abc92ec5c7bc019fdb545c9a098 100644 (file)
@@ -30,10 +30,11 @@ msgid ""
 msgstr ""
 "Project-Id-Version: CUPS 1.6\n"
 "Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
-"POT-Creation-Date: 2012-03-07 13:37-0800\n"
+"POT-Creation-Date: 2012-04-23 12:19-0700\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"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -47,7 +48,7 @@ msgstr ""
 msgid "\t\t(none)"
 msgstr ""
 
-#: berkeley/lpc.c:433
+#: berkeley/lpc.c:434
 #, c-format
 msgid "\t%d entries"
 msgstr ""
@@ -153,24 +154,24 @@ msgstr ""
 msgid "\tUsers denied:"
 msgstr ""
 
-#: berkeley/lpc.c:435
+#: berkeley/lpc.c:436
 msgid "\tdaemon present"
 msgstr ""
 
-#: berkeley/lpc.c:431
+#: berkeley/lpc.c:432
 msgid "\tno entries"
 msgstr ""
 
-#: berkeley/lpc.c:403 berkeley/lpc.c:415
+#: berkeley/lpc.c:404 berkeley/lpc.c:416
 #, c-format
 msgid "\tprinter is on device '%s' speed -1"
 msgstr ""
 
-#: berkeley/lpc.c:428
+#: berkeley/lpc.c:429
 msgid "\tprinting is disabled"
 msgstr ""
 
-#: berkeley/lpc.c:426
+#: berkeley/lpc.c:427
 msgid "\tprinting is enabled"
 msgstr ""
 
@@ -179,11 +180,11 @@ msgstr ""
 msgid "\tqueued for %s"
 msgstr ""
 
-#: berkeley/lpc.c:423
+#: berkeley/lpc.c:424
 msgid "\tqueuing is disabled"
 msgstr ""
 
-#: berkeley/lpc.c:421
+#: berkeley/lpc.c:422
 msgid "\tqueuing is enabled"
 msgstr ""
 
@@ -197,11 +198,11 @@ msgid ""
 "    DETAILED CONFORMANCE TEST RESULTS"
 msgstr ""
 
-#: systemv/cupstestppd.c:3799
+#: systemv/cupstestppd.c:3800
 msgid "                          Ignore specific warnings."
 msgstr ""
 
-#: systemv/cupstestppd.c:3803
+#: systemv/cupstestppd.c:3804
 msgid "                          Issue warnings instead of errors."
 msgstr ""
 
@@ -283,118 +284,118 @@ msgstr ""
 msgid "        PASS    LanguageVersion"
 msgstr ""
 
-#: systemv/cupstestppd.c:767
+#: systemv/cupstestppd.c:769
 msgid "        PASS    Manufacturer"
 msgstr ""
 
-#: systemv/cupstestppd.c:807
+#: systemv/cupstestppd.c:809
 msgid "        PASS    ModelName"
 msgstr ""
 
-#: systemv/cupstestppd.c:827
+#: systemv/cupstestppd.c:829
 msgid "        PASS    NickName"
 msgstr ""
 
-#: systemv/cupstestppd.c:887
+#: systemv/cupstestppd.c:889
 msgid "        PASS    PCFileName"
 msgstr ""
 
-#: systemv/cupstestppd.c:962
+#: systemv/cupstestppd.c:964
 msgid "        PASS    PSVersion"
 msgstr ""
 
-#: systemv/cupstestppd.c:867
+#: systemv/cupstestppd.c:869
 msgid "        PASS    PageRegion"
 msgstr ""
 
-#: systemv/cupstestppd.c:847
+#: systemv/cupstestppd.c:849
 msgid "        PASS    PageSize"
 msgstr ""
 
-#: systemv/cupstestppd.c:922
+#: systemv/cupstestppd.c:924
 msgid "        PASS    Product"
 msgstr ""
 
-#: systemv/cupstestppd.c:997
+#: systemv/cupstestppd.c:999
 msgid "        PASS    ShortNickName"
 msgstr ""
 
-#: systemv/cupstestppd.c:1372
+#: systemv/cupstestppd.c:1374
 #, c-format
 msgid "        WARN    %s has no corresponding options."
 msgstr ""
 
-#: systemv/cupstestppd.c:1484
+#: systemv/cupstestppd.c:1486
 #, c-format
 msgid ""
 "        WARN    %s shares a common prefix with %s\n"
 "                REF: Page 15, section 3.2."
 msgstr ""
 
-#: systemv/cupstestppd.c:1343
+#: systemv/cupstestppd.c:1345
 #, c-format
 msgid ""
 "        WARN    Duplex option keyword %s may not work as expected and should be named Duplex.\n"
 "                REF: Page 122, section 5.17"
 msgstr ""
 
-#: systemv/cupstestppd.c:1742
+#: systemv/cupstestppd.c:1744
 msgid "        WARN    File contains a mix of CR, LF, and CR LF line endings."
 msgstr ""
 
-#: systemv/cupstestppd.c:1388
+#: systemv/cupstestppd.c:1390
 msgid ""
 "        WARN    LanguageEncoding required by PPD 4.3 spec.\n"
 "                REF: Pages 56-57, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1724
+#: systemv/cupstestppd.c:1726
 #, c-format
 msgid "        WARN    Line %d only contains whitespace."
 msgstr ""
 
-#: systemv/cupstestppd.c:1396
+#: systemv/cupstestppd.c:1398
 msgid ""
 "        WARN    Manufacturer required by PPD 4.3 spec.\n"
 "                REF: Pages 58-59, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1747
+#: systemv/cupstestppd.c:1749
 msgid "        WARN    Non-Windows PPD files should use lines ending with only LF, not CR LF."
 msgstr ""
 
-#: systemv/cupstestppd.c:1380
+#: systemv/cupstestppd.c:1382
 #, c-format
 msgid ""
 "        WARN    Obsolete PPD version %.1f.\n"
 "                REF: Page 42, section 5.2."
 msgstr ""
 
-#: systemv/cupstestppd.c:1411
+#: systemv/cupstestppd.c:1413
 msgid ""
 "        WARN    PCFileName longer than 8.3 in violation of PPD spec.\n"
 "                REF: Pages 61-62, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1419
+#: systemv/cupstestppd.c:1421
 msgid ""
 "        WARN    PCFileName should contain a unique filename.\n"
 "                REF: Pages 61-62, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1454
+#: systemv/cupstestppd.c:1456
 msgid ""
 "        WARN    Protocols contains PJL but JCL attributes are not set.\n"
 "                REF: Pages 78-79, section 5.7."
 msgstr ""
 
-#: systemv/cupstestppd.c:1445
+#: systemv/cupstestppd.c:1447
 msgid ""
 "        WARN    Protocols contains both PJL and BCP; expected TBCP.\n"
 "                REF: Pages 78-79, section 5.7."
 msgstr ""
 
-#: systemv/cupstestppd.c:1428
+#: systemv/cupstestppd.c:1430
 msgid ""
 "        WARN    ShortNickName required by PPD 4.3 spec.\n"
 "                REF: Pages 64-65, section 5.3."
@@ -408,188 +409,188 @@ msgstr ""
 msgid "       cupstestdsc [options] -"
 msgstr ""
 
-#: systemv/cupstestppd.c:3794
+#: systemv/cupstestppd.c:3795
 msgid "       program | cupstestppd [options] -"
 msgstr ""
 
-#: systemv/cupstestppd.c:3726
+#: systemv/cupstestppd.c:3727
 #, c-format
 msgid ""
 "      %s  \"%s %s\" conflicts with \"%s %s\"\n"
 "                (constraint=\"%s %s %s %s\")."
 msgstr ""
 
-#: systemv/cupstestppd.c:2246
+#: systemv/cupstestppd.c:2248
 #, c-format
 msgid "      %s  %s %s does not exist."
 msgstr ""
 
-#: systemv/cupstestppd.c:3883
+#: systemv/cupstestppd.c:3884
 #, c-format
 msgid "      %s  %s file \"%s\" has the wrong capitalization."
 msgstr ""
 
-#: systemv/cupstestppd.c:2316
+#: systemv/cupstestppd.c:2318
 #, c-format
 msgid ""
 "      %s  Bad %s choice %s.\n"
 "                REF: Page 122, section 5.17"
 msgstr ""
 
-#: systemv/cupstestppd.c:3486 systemv/cupstestppd.c:3535
-#: systemv/cupstestppd.c:3574
+#: systemv/cupstestppd.c:3487 systemv/cupstestppd.c:3536
+#: systemv/cupstestppd.c:3575
 #, c-format
 msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s, choice %s."
 msgstr ""
 
-#: systemv/cupstestppd.c:3440
+#: systemv/cupstestppd.c:3441
 #, c-format
 msgid "      %s  Bad UTF-8 \"%s\" translation string for option %s."
 msgstr ""
 
-#: systemv/cupstestppd.c:2387
+#: systemv/cupstestppd.c:2389
 #, c-format
 msgid "      %s  Bad cupsFilter value \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:2473
+#: systemv/cupstestppd.c:2475
 #, c-format
 msgid "      %s  Bad cupsFilter2 value \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:2962
+#: systemv/cupstestppd.c:2964
 #, c-format
 msgid "      %s  Bad cupsICCProfile %s."
 msgstr ""
 
-#: systemv/cupstestppd.c:2569
+#: systemv/cupstestppd.c:2571
 #, c-format
 msgid "      %s  Bad cupsPreFilter value \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:1820
+#: systemv/cupstestppd.c:1822
 #, c-format
 msgid "      %s  Bad cupsUIConstraints %s: \"%s\""
 msgstr ""
 
-#: systemv/cupstestppd.c:3390
+#: systemv/cupstestppd.c:3391
 #, c-format
 msgid "      %s  Bad language \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:2431 systemv/cupstestppd.c:2527
-#: systemv/cupstestppd.c:2613 systemv/cupstestppd.c:2671
-#: systemv/cupstestppd.c:2726 systemv/cupstestppd.c:2781
-#: systemv/cupstestppd.c:2836 systemv/cupstestppd.c:2889
-#: systemv/cupstestppd.c:3011
+#: systemv/cupstestppd.c:2433 systemv/cupstestppd.c:2529
+#: systemv/cupstestppd.c:2615 systemv/cupstestppd.c:2673
+#: systemv/cupstestppd.c:2728 systemv/cupstestppd.c:2783
+#: systemv/cupstestppd.c:2838 systemv/cupstestppd.c:2891
+#: systemv/cupstestppd.c:3013
 #, c-format
 msgid "      %s  Bad permissions on %s file \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:2371 systemv/cupstestppd.c:2457
-#: systemv/cupstestppd.c:2553 systemv/cupstestppd.c:2640
-#: systemv/cupstestppd.c:2695 systemv/cupstestppd.c:2750
-#: systemv/cupstestppd.c:2805 systemv/cupstestppd.c:2860
+#: systemv/cupstestppd.c:2373 systemv/cupstestppd.c:2459
+#: systemv/cupstestppd.c:2555 systemv/cupstestppd.c:2642
+#: systemv/cupstestppd.c:2697 systemv/cupstestppd.c:2752
+#: systemv/cupstestppd.c:2807 systemv/cupstestppd.c:2862
 #, c-format
 msgid "      %s  Bad spelling of %s - should be %s."
 msgstr ""
 
-#: systemv/cupstestppd.c:2905
+#: systemv/cupstestppd.c:2907
 #, c-format
 msgid "      %s  Cannot provide both APScanAppPath and APScanAppBundleID."
 msgstr ""
 
-#: systemv/cupstestppd.c:2203
+#: systemv/cupstestppd.c:2205
 #, c-format
 msgid "      %s  Default choices conflicting."
 msgstr ""
 
-#: systemv/cupstestppd.c:1801
+#: systemv/cupstestppd.c:1803
 #, c-format
 msgid "      %s  Empty cupsUIConstraints %s"
 msgstr ""
 
-#: systemv/cupstestppd.c:3518 systemv/cupstestppd.c:3558
+#: systemv/cupstestppd.c:3519 systemv/cupstestppd.c:3559
 #, c-format
 msgid "      %s  Missing \"%s\" translation string for option %s, choice %s."
 msgstr ""
 
-#: systemv/cupstestppd.c:3426
+#: systemv/cupstestppd.c:3427
 #, c-format
 msgid "      %s  Missing \"%s\" translation string for option %s."
 msgstr ""
 
-#: systemv/cupstestppd.c:2416 systemv/cupstestppd.c:2512
-#: systemv/cupstestppd.c:2598 systemv/cupstestppd.c:2656
-#: systemv/cupstestppd.c:2711 systemv/cupstestppd.c:2766
-#: systemv/cupstestppd.c:2821 systemv/cupstestppd.c:2873
-#: systemv/cupstestppd.c:2996
+#: systemv/cupstestppd.c:2418 systemv/cupstestppd.c:2514
+#: systemv/cupstestppd.c:2600 systemv/cupstestppd.c:2658
+#: systemv/cupstestppd.c:2713 systemv/cupstestppd.c:2768
+#: systemv/cupstestppd.c:2823 systemv/cupstestppd.c:2875
+#: systemv/cupstestppd.c:2998
 #, c-format
 msgid "      %s  Missing %s file \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:3119
+#: systemv/cupstestppd.c:3121
 #, c-format
 msgid ""
 "      %s  Missing REQUIRED PageRegion option.\n"
 "                REF: Page 100, section 5.14."
 msgstr ""
 
-#: systemv/cupstestppd.c:3104
+#: systemv/cupstestppd.c:3106
 #, c-format
 msgid ""
 "      %s  Missing REQUIRED PageSize option.\n"
 "                REF: Page 99, section 5.14."
 msgstr ""
 
-#: systemv/cupstestppd.c:2011 systemv/cupstestppd.c:2052
+#: systemv/cupstestppd.c:2013 systemv/cupstestppd.c:2054
 #, c-format
 msgid "      %s  Missing choice *%s %s in UIConstraints \"*%s %s *%s %s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:1906
+#: systemv/cupstestppd.c:1908
 #, c-format
 msgid "      %s  Missing choice *%s %s in cupsUIConstraints %s: \"%s\""
 msgstr ""
 
-#: systemv/cupstestppd.c:1838
+#: systemv/cupstestppd.c:1840
 #, c-format
 msgid "      %s  Missing cupsUIResolver %s"
 msgstr ""
 
-#: systemv/cupstestppd.c:1997 systemv/cupstestppd.c:2038
+#: systemv/cupstestppd.c:1999 systemv/cupstestppd.c:2040
 #, c-format
 msgid "      %s  Missing option %s in UIConstraints \"*%s %s *%s %s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:1890
+#: systemv/cupstestppd.c:1892
 #, c-format
 msgid "      %s  Missing option %s in cupsUIConstraints %s: \"%s\""
 msgstr ""
 
-#: systemv/cupstestppd.c:3612
+#: systemv/cupstestppd.c:3613
 #, c-format
 msgid "      %s  No base translation \"%s\" is included in file."
 msgstr ""
 
-#: systemv/cupstestppd.c:2292
+#: systemv/cupstestppd.c:2294
 #, c-format
 msgid ""
 "      %s  REQUIRED %s does not define choice None.\n"
 "                REF: Page 122, section 5.17"
 msgstr ""
 
-#: systemv/cupstestppd.c:3177 systemv/cupstestppd.c:3191
+#: systemv/cupstestppd.c:3180 systemv/cupstestppd.c:3194
 #, c-format
 msgid "      %s  Size \"%s\" defined for %s but not for %s."
 msgstr ""
 
-#: systemv/cupstestppd.c:3157
+#: systemv/cupstestppd.c:3160
 #, c-format
 msgid "      %s  Size \"%s\" has unexpected dimensions (%gx%g)."
 msgstr ""
 
-#: systemv/cupstestppd.c:3331
+#: systemv/cupstestppd.c:3332
 #, c-format
 msgid "      %s  Size \"%s\" should be \"%s\"."
 msgstr ""
@@ -599,27 +600,22 @@ msgstr ""
 msgid "      %s  Size \"%s\" should be the Adobe standard name \"%s\"."
 msgstr ""
 
-#: systemv/cupstestppd.c:3039
+#: systemv/cupstestppd.c:3041
 #, c-format
 msgid "      %s  cupsICCProfile %s hash value collides with %s."
 msgstr ""
 
-#: systemv/cupstestppd.c:1961
+#: systemv/cupstestppd.c:1963
 #, c-format
 msgid "      %s  cupsUIResolver %s causes a loop."
 msgstr ""
 
-#: systemv/cupstestppd.c:1943
+#: systemv/cupstestppd.c:1945
 #, c-format
 msgid "      %s  cupsUIResolver %s does not list at least two different options."
 msgstr ""
 
-#: systemv/cupstestppd.c:2161
-#, c-format
-msgid "      **FAIL**  %s choice names %s and %s differ only by case."
-msgstr ""
-
-#: systemv/cupstestppd.c:1166
+#: systemv/cupstestppd.c:1168
 #, c-format
 msgid ""
 "      **FAIL**  %s must be 1284DeviceID\n"
@@ -629,124 +625,124 @@ msgstr ""
 #: systemv/cupstestppd.c:580
 #, c-format
 msgid ""
-"      **FAIL**  BAD Default%s %s\n"
+"      **FAIL**  Bad Default%s %s\n"
 "                REF: Page 40, section 4.5."
 msgstr ""
 
 #: systemv/cupstestppd.c:514
 #, c-format
 msgid ""
-"      **FAIL**  BAD DefaultImageableArea %s\n"
+"      **FAIL**  Bad DefaultImageableArea %s\n"
 "                REF: Page 102, section 5.15."
 msgstr ""
 
 #: systemv/cupstestppd.c:550
 #, c-format
 msgid ""
-"      **FAIL**  BAD DefaultPaperDimension %s\n"
+"      **FAIL**  Bad DefaultPaperDimension %s\n"
 "                REF: Page 103, section 5.15."
 msgstr ""
 
-#: systemv/cupstestppd.c:1023
+#: systemv/cupstestppd.c:623
+#, c-format
 msgid ""
-"      **FAIL**  BAD JobPatchFile attribute in file\n"
-"                REF: Page 24, section 3.4."
+"      **FAIL**  Bad FileVersion \"%s\"\n"
+"                REF: Page 56, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:743
+#: systemv/cupstestppd.c:667
+#, c-format
 msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"HP\")\n"
-"                REF: Page 211, table D.1."
+"      **FAIL**  Bad FormatVersion \"%s\"\n"
+"                REF: Page 56, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:759
+#: systemv/cupstestppd.c:1025
 msgid ""
-"      **FAIL**  BAD Manufacturer (should be \"Oki\")\n"
-"                REF: Page 211, table D.1."
+"      **FAIL**  Bad JobPatchFile attribute in file\n"
+"                REF: Page 24, section 3.4."
 msgstr ""
 
-#: systemv/cupstestppd.c:798
+#: systemv/cupstestppd.c:1213
 #, c-format
-msgid ""
-"      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n"
-"                REF: Pages 59-60, section 5.3."
-msgstr ""
-
-#: systemv/cupstestppd.c:954
-msgid ""
-"      **FAIL**  BAD PSVersion - not \"(string) int\".\n"
-"                REF: Pages 62-64, section 5.3."
+msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
 msgstr ""
 
-#: systemv/cupstestppd.c:915
-msgid ""
-"      **FAIL**  BAD Product - not \"(string)\".\n"
-"                REF: Page 62, section 5.3."
+#: systemv/cupstestppd.c:1227
+#, c-format
+msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
 msgstr ""
 
-#: systemv/cupstestppd.c:989
+#: systemv/cupstestppd.c:743 systemv/cupstestppd.c:760
+#, c-format
 msgid ""
-"      **FAIL**  BAD ShortNickName - longer than 31 chars.\n"
-"                REF: Pages 64-65, section 5.3."
+"      **FAIL**  Bad Manufacturer (should be \"%s\")\n"
+"                REF: Page 211, table D.1."
 msgstr ""
 
-#: systemv/cupstestppd.c:1147
+#: systemv/cupstestppd.c:800
 #, c-format
 msgid ""
-"      **FAIL**  Bad %s choice %s\n"
-"                REF: Page 84, section 5.9"
+"      **FAIL**  Bad ModelName - \"%c\" not allowed in string.\n"
+"                REF: Pages 59-60, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:623
-#, c-format
+#: systemv/cupstestppd.c:956
 msgid ""
-"      **FAIL**  Bad FileVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
+"      **FAIL**  Bad PSVersion - not \"(string) int\".\n"
+"                REF: Pages 62-64, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:667
-#, c-format
+#: systemv/cupstestppd.c:917
 msgid ""
-"      **FAIL**  Bad FormatVersion \"%s\"\n"
-"                REF: Page 56, section 5.3."
+"      **FAIL**  Bad Product - not \"(string)\".\n"
+"                REF: Page 62, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1211
-#, c-format
-msgid "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1."
+#: systemv/cupstestppd.c:991
+msgid ""
+"      **FAIL**  Bad ShortNickName - longer than 31 chars.\n"
+"                REF: Pages 64-65, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1225
+#: systemv/cupstestppd.c:1149
 #, c-format
-msgid "      **FAIL**  Bad LanguageVersion %s - must be English."
+msgid ""
+"      **FAIL**  Bad option %s choice %s\n"
+"                REF: Page 84, section 5.9"
 msgstr ""
 
-#: systemv/cupstestppd.c:3753 systemv/cupstestppd.c:3775
+#: systemv/cupstestppd.c:3754 systemv/cupstestppd.c:3776
 #, c-format
 msgid "      **FAIL**  Default option code cannot be interpreted: %s"
 msgstr ""
 
-#: systemv/cupstestppd.c:1284
+#: systemv/cupstestppd.c:1286
 #, c-format
 msgid "      **FAIL**  Default translation string for option %s choice %s contains 8-bit characters."
 msgstr ""
 
-#: systemv/cupstestppd.c:1257
+#: systemv/cupstestppd.c:1259
 #, c-format
 msgid "      **FAIL**  Default translation string for option %s contains 8-bit characters."
 msgstr ""
 
-#: systemv/cupstestppd.c:2099
+#: systemv/cupstestppd.c:2101
 #, c-format
 msgid "      **FAIL**  Group names %s and %s differ only by case."
 msgstr ""
 
-#: systemv/cupstestppd.c:2144
+#: systemv/cupstestppd.c:2146
+#, c-format
+msgid "      **FAIL**  Multiple occurrences of option %s choice name %s."
+msgstr ""
+
+#: systemv/cupstestppd.c:2163
 #, c-format
-msgid "      **FAIL**  Multiple occurrences of %s choice name %s."
+msgid "      **FAIL**  Option %s choice names %s and %s differ only by case."
 msgstr ""
 
-#: systemv/cupstestppd.c:2121
+#: systemv/cupstestppd.c:2123
 #, c-format
 msgid "      **FAIL**  Option names %s and %s differ only by case."
 msgstr ""
@@ -782,7 +778,7 @@ msgid ""
 "                REF: Page 56, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1074
+#: systemv/cupstestppd.c:1076
 #, c-format
 msgid ""
 "      **FAIL**  REQUIRED ImageableArea for PageSize %s\n"
@@ -802,56 +798,56 @@ msgid ""
 "                REF: Pages 57-58, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:777
+#: systemv/cupstestppd.c:779
 msgid ""
 "      **FAIL**  REQUIRED Manufacturer\n"
 "                REF: Pages 58-59, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:817
+#: systemv/cupstestppd.c:819
 msgid ""
 "      **FAIL**  REQUIRED ModelName\n"
 "                REF: Pages 59-60, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:837
+#: systemv/cupstestppd.c:839
 msgid ""
 "      **FAIL**  REQUIRED NickName\n"
 "                REF: Page 60, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:897
+#: systemv/cupstestppd.c:899
 msgid ""
 "      **FAIL**  REQUIRED PCFileName\n"
 "                REF: Pages 61-62, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:972
+#: systemv/cupstestppd.c:974
 msgid ""
 "      **FAIL**  REQUIRED PSVersion\n"
 "                REF: Pages 62-64, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:877
+#: systemv/cupstestppd.c:879
 msgid ""
 "      **FAIL**  REQUIRED PageRegion\n"
 "                REF: Page 100, section 5.14."
 msgstr ""
 
-#: systemv/cupstestppd.c:1043
+#: systemv/cupstestppd.c:1045
 msgid ""
 "      **FAIL**  REQUIRED PageSize\n"
 "                REF: Page 41, section 5.\n"
 "                REF: Page 99, section 5.14."
 msgstr ""
 
-#: systemv/cupstestppd.c:857
+#: systemv/cupstestppd.c:859
 msgid ""
 "      **FAIL**  REQUIRED PageSize\n"
 "                REF: Pages 99-100, section 5.14."
 msgstr ""
 
-#: systemv/cupstestppd.c:1096
+#: systemv/cupstestppd.c:1098
 #, c-format
 msgid ""
 "      **FAIL**  REQUIRED PaperDimension for PageSize %s\n"
@@ -859,29 +855,25 @@ msgid ""
 "                REF: Page 103, section 5.15."
 msgstr ""
 
-#: systemv/cupstestppd.c:932
+#: systemv/cupstestppd.c:934
 msgid ""
 "      **FAIL**  REQUIRED Product\n"
 "                REF: Page 62, section 5.3."
 msgstr ""
 
-#: systemv/cupstestppd.c:1007
+#: systemv/cupstestppd.c:1009
 msgid ""
 "      **FAIL**  REQUIRED ShortNickName\n"
 "                REF: Page 64-65, section 5.3."
 msgstr ""
 
 #: systemv/cupstestppd.c:334 systemv/cupstestppd.c:353
-#, c-format
-msgid "      **FAIL**  Unable to open PPD file - %s"
-msgstr ""
-
 #: systemv/cupstestppd.c:365
 #, c-format
 msgid "      **FAIL**  Unable to open PPD file - %s on line %d."
 msgstr ""
 
-#: systemv/cupstestppd.c:1496
+#: systemv/cupstestppd.c:1498
 #, c-format
 msgid "    %d ERRORS FOUND"
 msgstr ""
@@ -950,7 +942,7 @@ msgid ""
 "        REF: Page 43, %%Pages:"
 msgstr ""
 
-#: systemv/cupstestppd.c:1498
+#: systemv/cupstestppd.c:1500
 msgid "    NO ERRORS FOUND"
 msgstr ""
 
@@ -1003,16 +995,16 @@ msgstr ""
 msgid "  --[no-]user-cancel-any  Allow/prevent users to cancel any job."
 msgstr ""
 
-#: ppdc/ppdc.cxx:456
+#: ppdc/ppdc.cxx:455
 msgid "  --cr                    End lines with CR (Mac OS 9)."
 msgstr ""
 
-#: ppdc/ppdc.cxx:458
+#: ppdc/ppdc.cxx:457
 msgid "  --crlf                  End lines with CR + LF (Windows)."
 msgstr ""
 
-#: ppdc/ppdc.cxx:460
-msgid "  --lf                    End lines with LF (UNIX/Linux/Mac OS X)."
+#: ppdc/ppdc.cxx:459
+msgid "  --lf                    End lines with LF (UNIX/Linux/OS X)."
 msgstr ""
 
 #: test/ipptool.c:4337
@@ -1027,7 +1019,7 @@ msgstr ""
 msgid "  -C                      Send requests using chunking (default)."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1439 scheduler/cupsfilter.c:1466
+#: scheduler/cupsfilter.c:1431
 msgid "  -D                      Remove the input file when finished."
 msgstr ""
 
@@ -1035,23 +1027,19 @@ msgstr ""
 msgid "  -D name=value           Set named variable to value."
 msgstr ""
 
-#: systemv/cupsctl.c:205
-msgid "  -E                      Enable encryption."
-msgstr ""
-
-#: systemv/cupsaddsmb.c:285
-msgid "  -E                      Encrypt the connection to the server."
+#: systemv/cupsaddsmb.c:285 systemv/cupsctl.c:205
+msgid "  -E                      Encrypt the connection."
 msgstr ""
 
 #: test/ipptool.c:4341
-msgid "  -E                      Test with TLS encryption."
+msgid "  -E                      Test with HTTP Upgrade to TLS."
 msgstr ""
 
-#: scheduler/main.c:2023
+#: scheduler/main.c:2021
 msgid "  -F                      Run in the foreground but detach from console."
 msgstr ""
 
-#: systemv/cupsaddsmb.c:287
+#: systemv/cupsaddsmb.c:286
 msgid "  -H samba-server         Use the named SAMBA server."
 msgstr ""
 
@@ -1063,23 +1051,19 @@ msgstr ""
 msgid "  -I include-dir          Add include directory to search path."
 msgstr ""
 
-#: systemv/cupstestppd.c:3798
+#: systemv/cupstestppd.c:3799
 msgid "  -I {filename,filters,none,profiles}"
 msgstr ""
 
-#: scheduler/cupsfilter.c:1468
-msgid "  -J title                Set title."
-msgstr ""
-
 #: test/ipptool.c:4344
 msgid "  -L                      Send requests using content-length."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1441 scheduler/cupsfilter.c:1469
+#: scheduler/cupsfilter.c:1433
 msgid "  -P filename.ppd         Set PPD file."
 msgstr ""
 
-#: systemv/cupstestppd.c:3800
+#: systemv/cupstestppd.c:3801
 msgid "  -R root-directory       Set alternate root."
 msgstr ""
 
@@ -1091,15 +1075,7 @@ msgstr ""
 msgid "  -T seconds              Set the receive/send timeout in seconds."
 msgstr ""
 
-#: systemv/cupsaddsmb.c:289
-msgid "  -U samba-user           Authenticate using the named SAMBA user."
-msgstr ""
-
-#: scheduler/cupsfilter.c:1442 scheduler/cupsfilter.c:1470
-msgid "  -U username             Set username for job."
-msgstr ""
-
-#: systemv/cupsctl.c:206
+#: scheduler/cupsfilter.c:1434 systemv/cupsaddsmb.c:288 systemv/cupsctl.c:206
 msgid "  -U username             Specify username."
 msgstr ""
 
@@ -1107,7 +1083,7 @@ msgstr ""
 msgid "  -V version              Set default IPP version."
 msgstr ""
 
-#: systemv/cupstestppd.c:3801
+#: systemv/cupstestppd.c:3802
 msgid "  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,translations}"
 msgstr ""
 
@@ -1115,27 +1091,15 @@ msgstr ""
 msgid "  -X                      Produce XML plist instead of plain text."
 msgstr ""
 
-#: systemv/cupsaddsmb.c:291
+#: systemv/cupsaddsmb.c:289
 msgid "  -a                      Export all printers."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1471
-msgid "  -a 'name=value ...'     Set option(s)."
-msgstr ""
-
 #: ppdc/ppdc.cxx:442
 msgid "  -c catalog.po           Load the specified message catalog."
 msgstr ""
 
-#: scheduler/main.c:2020
-msgid "  -c config-file          Load alternate configuration file."
-msgstr ""
-
-#: scheduler/cupsfilter.c:1472
-msgid "  -c copies               Set number of copies."
-msgstr ""
-
-#: scheduler/cupsfilter.c:1443
+#: scheduler/cupsfilter.c:1435 scheduler/main.c:2019
 msgid "  -c cupsd.conf           Set cupsd.conf file to use."
 msgstr ""
 
@@ -1147,15 +1111,15 @@ msgstr ""
 msgid "  -d output-dir           Specify the output directory."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1445 scheduler/cupsfilter.c:1473
+#: scheduler/cupsfilter.c:1437
 msgid "  -d printer              Use the named printer."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1447 scheduler/cupsfilter.c:1475
+#: scheduler/cupsfilter.c:1439
 msgid "  -e                      Use every filter from the PPD file."
 msgstr ""
 
-#: scheduler/main.c:2022
+#: scheduler/main.c:2020
 msgid "  -f                      Run in the foreground."
 msgstr ""
 
@@ -1163,23 +1127,15 @@ msgstr ""
 msgid "  -f filename             Set default request filename."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1477
-msgid "  -f filename             Set file to be converted (otherwise stdin)."
-msgstr ""
-
-#: scheduler/main.c:2025
+#: scheduler/main.c:2023
 msgid "  -h                      Show this usage message."
 msgstr ""
 
-#: systemv/cupsaddsmb.c:292
-msgid "  -h cups-server          Use the named CUPS server."
-msgstr ""
-
-#: systemv/cupsctl.c:207
+#: systemv/cupsaddsmb.c:290 systemv/cupsctl.c:207
 msgid "  -h server[:port]        Specify server address."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1449 scheduler/cupsfilter.c:1479
+#: scheduler/cupsfilter.c:1441
 msgid "  -i mime/type            Set input MIME type (otherwise auto-typed)."
 msgstr ""
 
@@ -1187,15 +1143,11 @@ msgstr ""
 msgid "  -i seconds              Repeat the last file with the given time interval."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1451
+#: scheduler/cupsfilter.c:1443
 msgid "  -j job-id[,N]           Filter file N from the specified job (default is file 1)."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1481
-msgid "  -j mime/type            Set output MIME type (otherwise application/pdf)."
-msgstr ""
-
-#: scheduler/main.c:2026
+#: scheduler/main.c:2024
 msgid "  -l                      Run cupsd from launchd(8)."
 msgstr ""
 
@@ -1207,11 +1159,11 @@ msgstr ""
 msgid "  -m                      Use the ModelName value as the filename."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1453
+#: scheduler/cupsfilter.c:1445
 msgid "  -m mime/type            Set output MIME type (otherwise application/pdf)."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1455
+#: scheduler/cupsfilter.c:1447
 msgid "  -n copies               Set number of copies."
 msgstr ""
 
@@ -1219,10 +1171,6 @@ msgstr ""
 msgid "  -n count                Repeat the last file the given number of times."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1483
-msgid "  -o filename             Set file to be generated (otherwise stdout)."
-msgstr ""
-
 #: ppdc/ppdi.cxx:133
 msgid "  -o filename.drv         Set driver information file (otherwise ppdi.drv)."
 msgstr ""
@@ -1231,27 +1179,23 @@ msgstr ""
 msgid "  -o filename.ppd[.gz]    Set output file (otherwise stdout)."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1456
+#: scheduler/cupsfilter.c:1448
 msgid "  -o name=value           Set option(s)."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1457
+#: scheduler/cupsfilter.c:1449
 msgid "  -p filename.ppd         Set PPD file."
 msgstr ""
 
-#: test/ipptool.c:4362
-msgid "  -q                      Be quiet - no output except errors."
-msgstr ""
-
-#: systemv/cupstestppd.c:3805
+#: systemv/cupstestppd.c:3806 test/ipptool.c:4362
 msgid "  -q                      Run silently."
 msgstr ""
 
-#: systemv/cupstestppd.c:3806
+#: systemv/cupstestppd.c:3807
 msgid "  -r                      Use 'relaxed' open mode."
 msgstr ""
 
-#: test/ipptool.c:4364
+#: test/ipptool.c:4363
 msgid "  -t                      Produce a test report."
 msgstr ""
 
@@ -1259,39 +1203,28 @@ msgstr ""
 msgid "  -t                      Test PPDs instead of generating them."
 msgstr ""
 
-#: scheduler/main.c:2027
+#: scheduler/main.c:2025
 msgid "  -t                      Test the configuration file."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1458
+#: scheduler/cupsfilter.c:1450
 msgid "  -t title                Set title."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1459 scheduler/cupsfilter.c:1485
+#: scheduler/cupsfilter.c:1451
 msgid "  -u                      Remove the PPD file when finished."
 msgstr ""
 
-#: systemv/cupstestppd.c:3807
-msgid "  -v                      Be slightly verbose."
-msgstr ""
-
+#: systemv/cupsaddsmb.c:291 systemv/cupstestppd.c:3808 test/ipptool.c:4364
 #: ppdc/ppdc.cxx:452 ppdc/ppdpo.cxx:259
-msgid "  -v                      Be verbose (more v's for more verbosity)."
-msgstr ""
-
-#: systemv/cupsaddsmb.c:294
-msgid "  -v                      Be verbose (show commands)."
+msgid "  -v                      Be verbose."
 msgstr ""
 
-#: test/ipptool.c:4365
-msgid "  -v                      Show all attributes sent and received."
-msgstr ""
-
-#: systemv/cupstestppd.c:3808
+#: systemv/cupstestppd.c:3809
 msgid "  -vv                     Be very verbose."
 msgstr ""
 
-#: ppdc/ppdc.cxx:454
+#: ppdc/ppdc.cxx:453
 msgid "  -z                      Compress PPD files using GNU zip."
 msgstr ""
 
@@ -1303,56 +1236,56 @@ msgstr ""
 #: systemv/cupstestppd.c:638 systemv/cupstestppd.c:664
 #: systemv/cupstestppd.c:682 systemv/cupstestppd.c:702
 #: systemv/cupstestppd.c:722 systemv/cupstestppd.c:740
-#: systemv/cupstestppd.c:756 systemv/cupstestppd.c:774
-#: systemv/cupstestppd.c:795 systemv/cupstestppd.c:814
-#: systemv/cupstestppd.c:834 systemv/cupstestppd.c:854
-#: systemv/cupstestppd.c:874 systemv/cupstestppd.c:894
-#: systemv/cupstestppd.c:912 systemv/cupstestppd.c:929
-#: systemv/cupstestppd.c:951 systemv/cupstestppd.c:969
-#: systemv/cupstestppd.c:986 systemv/cupstestppd.c:1004
-#: systemv/cupstestppd.c:1020 systemv/cupstestppd.c:1040
-#: systemv/cupstestppd.c:1071 systemv/cupstestppd.c:1093
-#: systemv/cupstestppd.c:1144 systemv/cupstestppd.c:1163
-#: systemv/cupstestppd.c:1207 systemv/cupstestppd.c:1221
-#: systemv/cupstestppd.c:1253 systemv/cupstestppd.c:1280
-#: systemv/cupstestppd.c:1798 systemv/cupstestppd.c:1817
-#: systemv/cupstestppd.c:1835 systemv/cupstestppd.c:1887
-#: systemv/cupstestppd.c:1903 systemv/cupstestppd.c:1940
-#: systemv/cupstestppd.c:1958 systemv/cupstestppd.c:1994
-#: systemv/cupstestppd.c:2008 systemv/cupstestppd.c:2035
-#: systemv/cupstestppd.c:2049 systemv/cupstestppd.c:2095
-#: systemv/cupstestppd.c:2117 systemv/cupstestppd.c:2140
-#: systemv/cupstestppd.c:2157 systemv/cupstestppd.c:2199
-#: systemv/cupstestppd.c:2242 systemv/cupstestppd.c:2289
-#: systemv/cupstestppd.c:2313 systemv/cupstestppd.c:2367
-#: systemv/cupstestppd.c:2383 systemv/cupstestppd.c:2413
-#: systemv/cupstestppd.c:2427 systemv/cupstestppd.c:2453
-#: systemv/cupstestppd.c:2469 systemv/cupstestppd.c:2509
-#: systemv/cupstestppd.c:2523 systemv/cupstestppd.c:2549
-#: systemv/cupstestppd.c:2565 systemv/cupstestppd.c:2595
-#: systemv/cupstestppd.c:2609 systemv/cupstestppd.c:2636
-#: systemv/cupstestppd.c:2653 systemv/cupstestppd.c:2667
-#: systemv/cupstestppd.c:2691 systemv/cupstestppd.c:2708
-#: systemv/cupstestppd.c:2722 systemv/cupstestppd.c:2746
-#: systemv/cupstestppd.c:2763 systemv/cupstestppd.c:2777
-#: systemv/cupstestppd.c:2801 systemv/cupstestppd.c:2818
-#: systemv/cupstestppd.c:2832 systemv/cupstestppd.c:2856
-#: systemv/cupstestppd.c:2870 systemv/cupstestppd.c:2885
-#: systemv/cupstestppd.c:2902 systemv/cupstestppd.c:2958
-#: systemv/cupstestppd.c:2993 systemv/cupstestppd.c:3007
-#: systemv/cupstestppd.c:3035 systemv/cupstestppd.c:3100
-#: systemv/cupstestppd.c:3115 systemv/cupstestppd.c:3153
-#: systemv/cupstestppd.c:3173 systemv/cupstestppd.c:3187
-#: systemv/cupstestppd.c:3386 systemv/cupstestppd.c:3422
-#: systemv/cupstestppd.c:3436 systemv/cupstestppd.c:3482
-#: systemv/cupstestppd.c:3514 systemv/cupstestppd.c:3531
-#: systemv/cupstestppd.c:3554 systemv/cupstestppd.c:3570
-#: systemv/cupstestppd.c:3608 systemv/cupstestppd.c:3749
-#: systemv/cupstestppd.c:3771 systemv/cupstestppd.c:3879
+#: systemv/cupstestppd.c:757 systemv/cupstestppd.c:776
+#: systemv/cupstestppd.c:797 systemv/cupstestppd.c:816
+#: systemv/cupstestppd.c:836 systemv/cupstestppd.c:856
+#: systemv/cupstestppd.c:876 systemv/cupstestppd.c:896
+#: systemv/cupstestppd.c:914 systemv/cupstestppd.c:931
+#: systemv/cupstestppd.c:953 systemv/cupstestppd.c:971
+#: systemv/cupstestppd.c:988 systemv/cupstestppd.c:1006
+#: systemv/cupstestppd.c:1022 systemv/cupstestppd.c:1042
+#: systemv/cupstestppd.c:1073 systemv/cupstestppd.c:1095
+#: systemv/cupstestppd.c:1146 systemv/cupstestppd.c:1165
+#: systemv/cupstestppd.c:1209 systemv/cupstestppd.c:1223
+#: systemv/cupstestppd.c:1255 systemv/cupstestppd.c:1282
+#: systemv/cupstestppd.c:1800 systemv/cupstestppd.c:1819
+#: systemv/cupstestppd.c:1837 systemv/cupstestppd.c:1889
+#: systemv/cupstestppd.c:1905 systemv/cupstestppd.c:1942
+#: systemv/cupstestppd.c:1960 systemv/cupstestppd.c:1996
+#: systemv/cupstestppd.c:2010 systemv/cupstestppd.c:2037
+#: systemv/cupstestppd.c:2051 systemv/cupstestppd.c:2097
+#: systemv/cupstestppd.c:2119 systemv/cupstestppd.c:2142
+#: systemv/cupstestppd.c:2159 systemv/cupstestppd.c:2201
+#: systemv/cupstestppd.c:2244 systemv/cupstestppd.c:2291
+#: systemv/cupstestppd.c:2315 systemv/cupstestppd.c:2369
+#: systemv/cupstestppd.c:2385 systemv/cupstestppd.c:2415
+#: systemv/cupstestppd.c:2429 systemv/cupstestppd.c:2455
+#: systemv/cupstestppd.c:2471 systemv/cupstestppd.c:2511
+#: systemv/cupstestppd.c:2525 systemv/cupstestppd.c:2551
+#: systemv/cupstestppd.c:2567 systemv/cupstestppd.c:2597
+#: systemv/cupstestppd.c:2611 systemv/cupstestppd.c:2638
+#: systemv/cupstestppd.c:2655 systemv/cupstestppd.c:2669
+#: systemv/cupstestppd.c:2693 systemv/cupstestppd.c:2710
+#: systemv/cupstestppd.c:2724 systemv/cupstestppd.c:2748
+#: systemv/cupstestppd.c:2765 systemv/cupstestppd.c:2779
+#: systemv/cupstestppd.c:2803 systemv/cupstestppd.c:2820
+#: systemv/cupstestppd.c:2834 systemv/cupstestppd.c:2858
+#: systemv/cupstestppd.c:2872 systemv/cupstestppd.c:2887
+#: systemv/cupstestppd.c:2904 systemv/cupstestppd.c:2960
+#: systemv/cupstestppd.c:2995 systemv/cupstestppd.c:3009
+#: systemv/cupstestppd.c:3037 systemv/cupstestppd.c:3102
+#: systemv/cupstestppd.c:3117 systemv/cupstestppd.c:3156
+#: systemv/cupstestppd.c:3176 systemv/cupstestppd.c:3190
+#: systemv/cupstestppd.c:3387 systemv/cupstestppd.c:3423
+#: systemv/cupstestppd.c:3437 systemv/cupstestppd.c:3483
+#: systemv/cupstestppd.c:3515 systemv/cupstestppd.c:3532
+#: systemv/cupstestppd.c:3555 systemv/cupstestppd.c:3571
+#: systemv/cupstestppd.c:3609 systemv/cupstestppd.c:3750
+#: systemv/cupstestppd.c:3772 systemv/cupstestppd.c:3880
 msgid " FAIL"
 msgstr ""
 
-#: systemv/cupstestppd.c:1304
+#: systemv/cupstestppd.c:1306
 msgid " PASS"
 msgstr ""
 
@@ -1428,7 +1361,7 @@ msgid "%s: %-33.33s [job %d localhost]"
 msgstr ""
 
 #. TRANSLATORS: Message is "subject: error"
-#: cups/langprintf.c:86 scheduler/cupsfilter.c:720 systemv/lpadmin.c:805
+#: cups/langprintf.c:86 scheduler/cupsfilter.c:714 systemv/lpadmin.c:805
 #: systemv/lpadmin.c:856 systemv/lpadmin.c:906 systemv/lpadmin.c:962
 #: systemv/lpadmin.c:1060 systemv/lpadmin.c:1112 systemv/lpadmin.c:1168
 #: systemv/lpadmin.c:1478
@@ -1640,7 +1573,7 @@ msgstr ""
 msgid "%s: Invalid destination name in list \"%s\"."
 msgstr ""
 
-#: scheduler/cupsfilter.c:573
+#: scheduler/cupsfilter.c:567
 #, c-format
 msgid "%s: Invalid filter string \"%s\"."
 msgstr ""
@@ -1650,7 +1583,7 @@ msgstr ""
 msgid "%s: Need job ID (\"-i jobid\") before \"-H restart\"."
 msgstr ""
 
-#: scheduler/cupsfilter.c:464
+#: scheduler/cupsfilter.c:458
 #, c-format
 msgid "%s: No filter to convert from %s/%s to %s/%s."
 msgstr ""
@@ -1668,7 +1601,7 @@ msgstr ""
 msgid "%s: Sorry, no encryption support."
 msgstr ""
 
-#: berkeley/lpq.c:295 scheduler/cupsfilter.c:1227 systemv/cancel.c:237
+#: berkeley/lpq.c:295 scheduler/cupsfilter.c:1221 systemv/cancel.c:237
 #: systemv/cupsaddsmb.c:144 systemv/cupsaddsmb.c:171
 #, c-format
 msgid "%s: Unable to connect to server."
@@ -1679,7 +1612,7 @@ msgstr ""
 msgid "%s: Unable to contact server."
 msgstr ""
 
-#: scheduler/cupsfilter.c:430
+#: scheduler/cupsfilter.c:424
 #, c-format
 msgid "%s: Unable to determine MIME type of \"%s\"."
 msgstr ""
@@ -1689,12 +1622,12 @@ msgstr ""
 msgid "%s: Unable to open %s: %s"
 msgstr ""
 
-#: scheduler/cupsfilter.c:668 ppdc/ppdmerge.cxx:112
+#: scheduler/cupsfilter.c:662 ppdc/ppdmerge.cxx:112
 #, c-format
 msgid "%s: Unable to open PPD file: %s on line %d."
 msgstr ""
 
-#: scheduler/cupsfilter.c:398
+#: scheduler/cupsfilter.c:392
 #, c-format
 msgid "%s: Unable to read MIME database from \"%s\" or \"%s\"."
 msgstr ""
@@ -1704,17 +1637,17 @@ msgstr ""
 msgid "%s: Unknown destination \"%s\"."
 msgstr ""
 
-#: scheduler/cupsfilter.c:441
+#: scheduler/cupsfilter.c:435
 #, c-format
 msgid "%s: Unknown destination MIME type %s/%s."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1433
+#: scheduler/cupsfilter.c:1427
 #, c-format
 msgid "%s: Unknown option \"%c\"."
 msgstr ""
 
-#: scheduler/cupsfilter.c:422
+#: scheduler/cupsfilter.c:416
 #, c-format
 msgid "%s: Unknown source MIME type %s/%s."
 msgstr ""
@@ -1744,195 +1677,195 @@ msgstr ""
 msgid "%s: Warning - mode option ignored."
 msgstr ""
 
-#: ppdc/sample.c:319
+#: ppdc/sample.c:310
 msgid "-1"
 msgstr ""
 
-#: ppdc/sample.c:310
+#: ppdc/sample.c:301
 msgid "-10"
 msgstr ""
 
-#: ppdc/sample.c:402
+#: ppdc/sample.c:393
 msgid "-100"
 msgstr ""
 
-#: ppdc/sample.c:401
+#: ppdc/sample.c:392
 msgid "-105"
 msgstr ""
 
-#: ppdc/sample.c:309
+#: ppdc/sample.c:300
 msgid "-11"
 msgstr ""
 
-#: ppdc/sample.c:400
+#: ppdc/sample.c:391
 msgid "-110"
 msgstr ""
 
-#: ppdc/sample.c:399
+#: ppdc/sample.c:390
 msgid "-115"
 msgstr ""
 
-#: ppdc/sample.c:308
+#: ppdc/sample.c:299
 msgid "-12"
 msgstr ""
 
-#: ppdc/sample.c:398
+#: ppdc/sample.c:389
 msgid "-120"
 msgstr ""
 
-#: ppdc/sample.c:307
+#: ppdc/sample.c:298
 msgid "-13"
 msgstr ""
 
-#: ppdc/sample.c:306
+#: ppdc/sample.c:297
 msgid "-14"
 msgstr ""
 
-#: ppdc/sample.c:305
+#: ppdc/sample.c:296
 msgid "-15"
 msgstr ""
 
-#: ppdc/sample.c:318
+#: ppdc/sample.c:309
 msgid "-2"
 msgstr ""
 
-#: ppdc/sample.c:418
+#: ppdc/sample.c:409
 msgid "-20"
 msgstr ""
 
-#: ppdc/sample.c:417
+#: ppdc/sample.c:408
 msgid "-25"
 msgstr ""
 
-#: ppdc/sample.c:317
+#: ppdc/sample.c:308
 msgid "-3"
 msgstr ""
 
-#: ppdc/sample.c:416
+#: ppdc/sample.c:407
 msgid "-30"
 msgstr ""
 
-#: ppdc/sample.c:415
+#: ppdc/sample.c:406
 msgid "-35"
 msgstr ""
 
-#: ppdc/sample.c:316
+#: ppdc/sample.c:307
 msgid "-4"
 msgstr ""
 
-#: ppdc/sample.c:414
+#: ppdc/sample.c:405
 msgid "-40"
 msgstr ""
 
-#: ppdc/sample.c:413
+#: ppdc/sample.c:404
 msgid "-45"
 msgstr ""
 
-#: ppdc/sample.c:315
+#: ppdc/sample.c:306
 msgid "-5"
 msgstr ""
 
-#: ppdc/sample.c:412
+#: ppdc/sample.c:403
 msgid "-50"
 msgstr ""
 
-#: ppdc/sample.c:411
+#: ppdc/sample.c:402
 msgid "-55"
 msgstr ""
 
-#: ppdc/sample.c:314
+#: ppdc/sample.c:305
 msgid "-6"
 msgstr ""
 
-#: ppdc/sample.c:410
+#: ppdc/sample.c:401
 msgid "-60"
 msgstr ""
 
-#: ppdc/sample.c:409
+#: ppdc/sample.c:400
 msgid "-65"
 msgstr ""
 
-#: ppdc/sample.c:313
+#: ppdc/sample.c:304
 msgid "-7"
 msgstr ""
 
-#: ppdc/sample.c:408
+#: ppdc/sample.c:399
 msgid "-70"
 msgstr ""
 
-#: ppdc/sample.c:407
+#: ppdc/sample.c:398
 msgid "-75"
 msgstr ""
 
-#: ppdc/sample.c:312
+#: ppdc/sample.c:303
 msgid "-8"
 msgstr ""
 
-#: ppdc/sample.c:406
+#: ppdc/sample.c:397
 msgid "-80"
 msgstr ""
 
-#: ppdc/sample.c:405
+#: ppdc/sample.c:396
 msgid "-85"
 msgstr ""
 
-#: ppdc/sample.c:311
+#: ppdc/sample.c:302
 msgid "-9"
 msgstr ""
 
-#: ppdc/sample.c:404
+#: ppdc/sample.c:395
 msgid "-90"
 msgstr ""
 
-#: ppdc/sample.c:403
+#: ppdc/sample.c:394
 msgid "-95"
 msgstr ""
 
-#: ppdc/sample.c:320
+#: ppdc/sample.c:311
 msgid "0"
 msgstr ""
 
-#: ppdc/sample.c:321
+#: ppdc/sample.c:312
 msgid "1"
 msgstr ""
 
-#: ppdc/sample.c:393
+#: ppdc/sample.c:384
 msgid "1 inch/sec."
 msgstr ""
 
-#: ppdc/sample.c:181
+#: ppdc/sample.c:172
 msgid "1.25x0.25\""
 msgstr ""
 
-#: ppdc/sample.c:182
+#: ppdc/sample.c:173
 msgid "1.25x2.25\""
 msgstr ""
 
-#: ppdc/sample.c:441
+#: ppdc/sample.c:432
 msgid "1.5 inch/sec."
 msgstr ""
 
-#: ppdc/sample.c:183
+#: ppdc/sample.c:174
 msgid "1.50x0.25\""
 msgstr ""
 
-#: ppdc/sample.c:184
+#: ppdc/sample.c:175
 msgid "1.50x0.50\""
 msgstr ""
 
-#: ppdc/sample.c:185
+#: ppdc/sample.c:176
 msgid "1.50x1.00\""
 msgstr ""
 
-#: ppdc/sample.c:186
+#: ppdc/sample.c:177
 msgid "1.50x2.00\""
 msgstr ""
 
-#: ppdc/sample.c:330
+#: ppdc/sample.c:321
 msgid "10"
 msgstr ""
 
-#: ppdc/sample.c:452
+#: ppdc/sample.c:443
 msgid "10 inches/sec."
 msgstr ""
 
@@ -1948,39 +1881,39 @@ msgstr ""
 msgid "10 x 14"
 msgstr ""
 
-#: ppdc/sample.c:432
+#: ppdc/sample.c:423
 msgid "100"
 msgstr ""
 
-#: ppdc/sample.c:343
+#: ppdc/sample.c:334
 msgid "100 mm/sec."
 msgstr ""
 
-#: ppdc/sample.c:433
+#: ppdc/sample.c:424
 msgid "105"
 msgstr ""
 
-#: ppdc/sample.c:331
+#: ppdc/sample.c:322
 msgid "11"
 msgstr ""
 
-#: ppdc/sample.c:453
+#: ppdc/sample.c:444
 msgid "11 inches/sec."
 msgstr ""
 
-#: ppdc/sample.c:434
+#: ppdc/sample.c:425
 msgid "110"
 msgstr ""
 
-#: ppdc/sample.c:435
+#: ppdc/sample.c:426
 msgid "115"
 msgstr ""
 
-#: ppdc/sample.c:332
+#: ppdc/sample.c:323
 msgid "12"
 msgstr ""
 
-#: ppdc/sample.c:454
+#: ppdc/sample.c:445
 msgid "12 inches/sec."
 msgstr ""
 
@@ -1988,39 +1921,39 @@ msgstr ""
 msgid "12 x 11"
 msgstr ""
 
-#: ppdc/sample.c:436
+#: ppdc/sample.c:427
 msgid "120"
 msgstr ""
 
-#: ppdc/sample.c:344
+#: ppdc/sample.c:335
 msgid "120 mm/sec."
 msgstr ""
 
-#: ppdc/sample.c:252
+#: ppdc/sample.c:243
 msgid "120x60dpi"
 msgstr ""
 
-#: ppdc/sample.c:258
+#: ppdc/sample.c:249
 msgid "120x72dpi"
 msgstr ""
 
-#: ppdc/sample.c:333
+#: ppdc/sample.c:324
 msgid "13"
 msgstr ""
 
-#: ppdc/sample.c:241
+#: ppdc/sample.c:232
 msgid "136dpi"
 msgstr ""
 
-#: ppdc/sample.c:334
+#: ppdc/sample.c:325
 msgid "14"
 msgstr ""
 
-#: ppdc/sample.c:335
+#: ppdc/sample.c:326
 msgid "15"
 msgstr ""
 
-#: ppdc/sample.c:337
+#: ppdc/sample.c:328
 msgid "15 mm/sec."
 msgstr ""
 
@@ -2028,187 +1961,187 @@ msgstr ""
 msgid "15 x 11"
 msgstr ""
 
-#: ppdc/sample.c:345
+#: ppdc/sample.c:336
 msgid "150 mm/sec."
 msgstr ""
 
-#: ppdc/sample.c:292
+#: ppdc/sample.c:283
 msgid "150dpi"
 msgstr ""
 
-#: ppdc/sample.c:377
+#: ppdc/sample.c:368
 msgid "16"
 msgstr ""
 
-#: ppdc/sample.c:378
+#: ppdc/sample.c:369
 msgid "17"
 msgstr ""
 
-#: ppdc/sample.c:379
+#: ppdc/sample.c:370
 msgid "18"
 msgstr ""
 
-#: ppdc/sample.c:253
+#: ppdc/sample.c:244
 msgid "180dpi"
 msgstr ""
 
-#: ppdc/sample.c:380
+#: ppdc/sample.c:371
 msgid "19"
 msgstr ""
 
-#: ppdc/sample.c:322
+#: ppdc/sample.c:313
 msgid "2"
 msgstr ""
 
-#: ppdc/sample.c:394
+#: ppdc/sample.c:385
 msgid "2 inches/sec."
 msgstr ""
 
-#: ppdc/sample.c:279
+#: ppdc/sample.c:270
 msgid "2-Sided Printing"
 msgstr ""
 
-#: ppdc/sample.c:187
+#: ppdc/sample.c:178
 msgid "2.00x0.37\""
 msgstr ""
 
-#: ppdc/sample.c:188
+#: ppdc/sample.c:179
 msgid "2.00x0.50\""
 msgstr ""
 
-#: ppdc/sample.c:189
+#: ppdc/sample.c:180
 msgid "2.00x1.00\""
 msgstr ""
 
-#: ppdc/sample.c:190
+#: ppdc/sample.c:181
 msgid "2.00x1.25\""
 msgstr ""
 
-#: ppdc/sample.c:191
+#: ppdc/sample.c:182
 msgid "2.00x2.00\""
 msgstr ""
 
-#: ppdc/sample.c:192
+#: ppdc/sample.c:183
 msgid "2.00x3.00\""
 msgstr ""
 
-#: ppdc/sample.c:193
+#: ppdc/sample.c:184
 msgid "2.00x4.00\""
 msgstr ""
 
-#: ppdc/sample.c:194
+#: ppdc/sample.c:185
 msgid "2.00x5.50\""
 msgstr ""
 
-#: ppdc/sample.c:195
+#: ppdc/sample.c:186
 msgid "2.25x0.50\""
 msgstr ""
 
-#: ppdc/sample.c:196
+#: ppdc/sample.c:187
 msgid "2.25x1.25\""
 msgstr ""
 
-#: ppdc/sample.c:197
+#: ppdc/sample.c:188
 msgid "2.25x4.00\""
 msgstr ""
 
-#: ppdc/sample.c:198
+#: ppdc/sample.c:189
 msgid "2.25x5.50\""
 msgstr ""
 
-#: ppdc/sample.c:199
+#: ppdc/sample.c:190
 msgid "2.38x5.50\""
 msgstr ""
 
-#: ppdc/sample.c:442
+#: ppdc/sample.c:433
 msgid "2.5 inches/sec."
 msgstr ""
 
-#: ppdc/sample.c:200
+#: ppdc/sample.c:191
 msgid "2.50x1.00\""
 msgstr ""
 
-#: ppdc/sample.c:201
+#: ppdc/sample.c:192
 msgid "2.50x2.00\""
 msgstr ""
 
-#: ppdc/sample.c:202
+#: ppdc/sample.c:193
 msgid "2.75x1.25\""
 msgstr ""
 
-#: ppdc/sample.c:203
+#: ppdc/sample.c:194
 msgid "2.9 x 1\""
 msgstr ""
 
-#: ppdc/sample.c:381
+#: ppdc/sample.c:372
 msgid "20"
 msgstr ""
 
-#: ppdc/sample.c:338
+#: ppdc/sample.c:329
 msgid "20 mm/sec."
 msgstr ""
 
-#: ppdc/sample.c:346
+#: ppdc/sample.c:337
 msgid "200 mm/sec."
 msgstr ""
 
-#: ppdc/sample.c:242
+#: ppdc/sample.c:233
 msgid "203dpi"
 msgstr ""
 
-#: ppdc/sample.c:382
+#: ppdc/sample.c:373
 msgid "21"
 msgstr ""
 
-#: ppdc/sample.c:383
+#: ppdc/sample.c:374
 msgid "22"
 msgstr ""
 
-#: ppdc/sample.c:384
+#: ppdc/sample.c:375
 msgid "23"
 msgstr ""
 
-#: ppdc/sample.c:385
+#: ppdc/sample.c:376
 msgid "24"
 msgstr ""
 
-#: ppdc/sample.c:250
+#: ppdc/sample.c:241
 msgid "24-Pin Series"
 msgstr ""
 
-#: ppdc/sample.c:259
+#: ppdc/sample.c:250
 msgid "240x72dpi"
 msgstr ""
 
-#: ppdc/sample.c:386
+#: ppdc/sample.c:377
 msgid "25"
 msgstr ""
 
-#: ppdc/sample.c:347
+#: ppdc/sample.c:338
 msgid "250 mm/sec."
 msgstr ""
 
-#: ppdc/sample.c:387
+#: ppdc/sample.c:378
 msgid "26"
 msgstr ""
 
-#: ppdc/sample.c:388
+#: ppdc/sample.c:379
 msgid "27"
 msgstr ""
 
-#: ppdc/sample.c:389
+#: ppdc/sample.c:380
 msgid "28"
 msgstr ""
 
-#: ppdc/sample.c:390
+#: ppdc/sample.c:381
 msgid "29"
 msgstr ""
 
-#: ppdc/sample.c:323
+#: ppdc/sample.c:314
 msgid "3"
 msgstr ""
 
-#: ppdc/sample.c:395
+#: ppdc/sample.c:386
 msgid "3 inches/sec."
 msgstr ""
 
@@ -2216,43 +2149,43 @@ msgstr ""
 msgid "3 x 5"
 msgstr ""
 
-#: ppdc/sample.c:204
+#: ppdc/sample.c:195
 msgid "3.00x1.00\""
 msgstr ""
 
-#: ppdc/sample.c:205
+#: ppdc/sample.c:196
 msgid "3.00x1.25\""
 msgstr ""
 
-#: ppdc/sample.c:206
+#: ppdc/sample.c:197
 msgid "3.00x2.00\""
 msgstr ""
 
-#: ppdc/sample.c:207
+#: ppdc/sample.c:198
 msgid "3.00x3.00\""
 msgstr ""
 
-#: ppdc/sample.c:208
+#: ppdc/sample.c:199
 msgid "3.00x5.00\""
 msgstr ""
 
-#: ppdc/sample.c:209
+#: ppdc/sample.c:200
 msgid "3.25x2.00\""
 msgstr ""
 
-#: ppdc/sample.c:210
+#: ppdc/sample.c:201
 msgid "3.25x5.00\""
 msgstr ""
 
-#: ppdc/sample.c:211
+#: ppdc/sample.c:202
 msgid "3.25x5.50\""
 msgstr ""
 
-#: ppdc/sample.c:212
+#: ppdc/sample.c:203
 msgid "3.25x5.83\""
 msgstr ""
 
-#: ppdc/sample.c:213
+#: ppdc/sample.c:204
 msgid "3.25x7.83\""
 msgstr ""
 
@@ -2264,103 +2197,99 @@ msgstr ""
 msgid "3.5\" Disk"
 msgstr ""
 
-#: ppdc/sample.c:180
-msgid "3.5\" Disk - 2 1/8 x 2 3/4\""
-msgstr ""
-
-#: ppdc/sample.c:214
+#: ppdc/sample.c:205
 msgid "3.50x1.00\""
 msgstr ""
 
-#: ppdc/sample.c:391
+#: ppdc/sample.c:382
 msgid "30"
 msgstr ""
 
-#: ppdc/sample.c:339
+#: ppdc/sample.c:330
 msgid "30 mm/sec."
 msgstr ""
 
-#: ppdc/sample.c:348
+#: ppdc/sample.c:339
 msgid "300 mm/sec."
 msgstr ""
 
-#: ppdc/sample.c:243
+#: ppdc/sample.c:234
 msgid "300dpi"
 msgstr ""
 
-#: ppdc/sample.c:419
+#: ppdc/sample.c:410
 msgid "35"
 msgstr ""
 
-#: ppdc/sample.c:255
+#: ppdc/sample.c:246
 msgid "360dpi"
 msgstr ""
 
-#: ppdc/sample.c:254
+#: ppdc/sample.c:245
 msgid "360x180dpi"
 msgstr ""
 
-#: ppdc/sample.c:324
+#: ppdc/sample.c:315
 msgid "4"
 msgstr ""
 
-#: ppdc/sample.c:396
+#: ppdc/sample.c:387
 msgid "4 inches/sec."
 msgstr ""
 
-#: ppdc/sample.c:215
+#: ppdc/sample.c:206
 msgid "4.00x1.00\""
 msgstr ""
 
-#: ppdc/sample.c:223
+#: ppdc/sample.c:214
 msgid "4.00x13.00\""
 msgstr ""
 
-#: ppdc/sample.c:216
+#: ppdc/sample.c:207
 msgid "4.00x2.00\""
 msgstr ""
 
-#: ppdc/sample.c:217
+#: ppdc/sample.c:208
 msgid "4.00x2.50\""
 msgstr ""
 
-#: ppdc/sample.c:218
+#: ppdc/sample.c:209
 msgid "4.00x3.00\""
 msgstr ""
 
-#: ppdc/sample.c:219
+#: ppdc/sample.c:210
 msgid "4.00x4.00\""
 msgstr ""
 
-#: ppdc/sample.c:220
+#: ppdc/sample.c:211
 msgid "4.00x5.00\""
 msgstr ""
 
-#: ppdc/sample.c:221
+#: ppdc/sample.c:212
 msgid "4.00x6.00\""
 msgstr ""
 
-#: ppdc/sample.c:222
+#: ppdc/sample.c:213
 msgid "4.00x6.50\""
 msgstr ""
 
-#: ppdc/sample.c:420
+#: ppdc/sample.c:411
 msgid "40"
 msgstr ""
 
-#: ppdc/sample.c:340
+#: ppdc/sample.c:331
 msgid "40 mm/sec."
 msgstr ""
 
-#: ppdc/sample.c:421
+#: ppdc/sample.c:412
 msgid "45"
 msgstr ""
 
-#: ppdc/sample.c:325
+#: ppdc/sample.c:316
 msgid "5"
 msgstr ""
 
-#: ppdc/sample.c:446
+#: ppdc/sample.c:437
 msgid "5 inches/sec."
 msgstr ""
 
@@ -2368,79 +2297,79 @@ msgstr ""
 msgid "5 x 7"
 msgstr ""
 
-#: ppdc/sample.c:422
+#: ppdc/sample.c:413
 msgid "50"
 msgstr ""
 
-#: ppdc/sample.c:423
+#: ppdc/sample.c:414
 msgid "55"
 msgstr ""
 
-#: ppdc/sample.c:326
+#: ppdc/sample.c:317
 msgid "6"
 msgstr ""
 
-#: ppdc/sample.c:447
+#: ppdc/sample.c:438
 msgid "6 inches/sec."
 msgstr ""
 
-#: ppdc/sample.c:224
+#: ppdc/sample.c:215
 msgid "6.00x1.00\""
 msgstr ""
 
-#: ppdc/sample.c:225
+#: ppdc/sample.c:216
 msgid "6.00x2.00\""
 msgstr ""
 
-#: ppdc/sample.c:226
+#: ppdc/sample.c:217
 msgid "6.00x3.00\""
 msgstr ""
 
-#: ppdc/sample.c:227
+#: ppdc/sample.c:218
 msgid "6.00x4.00\""
 msgstr ""
 
-#: ppdc/sample.c:228
+#: ppdc/sample.c:219
 msgid "6.00x5.00\""
 msgstr ""
 
-#: ppdc/sample.c:229
+#: ppdc/sample.c:220
 msgid "6.00x6.00\""
 msgstr ""
 
-#: ppdc/sample.c:230
+#: ppdc/sample.c:221
 msgid "6.00x6.50\""
 msgstr ""
 
-#: ppdc/sample.c:424
+#: ppdc/sample.c:415
 msgid "60"
 msgstr ""
 
-#: ppdc/sample.c:341
+#: ppdc/sample.c:332
 msgid "60 mm/sec."
 msgstr ""
 
-#: ppdc/sample.c:270
+#: ppdc/sample.c:261
 msgid "600dpi"
 msgstr ""
 
-#: ppdc/sample.c:251
+#: ppdc/sample.c:242
 msgid "60dpi"
 msgstr ""
 
-#: ppdc/sample.c:257
+#: ppdc/sample.c:248
 msgid "60x72dpi"
 msgstr ""
 
-#: ppdc/sample.c:425
+#: ppdc/sample.c:416
 msgid "65"
 msgstr ""
 
-#: ppdc/sample.c:327
+#: ppdc/sample.c:318
 msgid "7"
 msgstr ""
 
-#: ppdc/sample.c:449
+#: ppdc/sample.c:440
 msgid "7 inches/sec."
 msgstr ""
 
@@ -2448,23 +2377,23 @@ msgstr ""
 msgid "7 x 9"
 msgstr ""
 
-#: ppdc/sample.c:426
+#: ppdc/sample.c:417
 msgid "70"
 msgstr ""
 
-#: ppdc/sample.c:261
+#: ppdc/sample.c:252
 msgid "720dpi"
 msgstr ""
 
-#: ppdc/sample.c:427
+#: ppdc/sample.c:418
 msgid "75"
 msgstr ""
 
-#: ppdc/sample.c:328
+#: ppdc/sample.c:319
 msgid "8"
 msgstr ""
 
-#: ppdc/sample.c:450
+#: ppdc/sample.c:441
 msgid "8 inches/sec."
 msgstr ""
 
@@ -2472,51 +2401,51 @@ msgstr ""
 msgid "8 x 10"
 msgstr ""
 
-#: ppdc/sample.c:231
+#: ppdc/sample.c:222
 msgid "8.00x1.00\""
 msgstr ""
 
-#: ppdc/sample.c:232
+#: ppdc/sample.c:223
 msgid "8.00x2.00\""
 msgstr ""
 
-#: ppdc/sample.c:233
+#: ppdc/sample.c:224
 msgid "8.00x3.00\""
 msgstr ""
 
-#: ppdc/sample.c:234
+#: ppdc/sample.c:225
 msgid "8.00x4.00\""
 msgstr ""
 
-#: ppdc/sample.c:235
+#: ppdc/sample.c:226
 msgid "8.00x5.00\""
 msgstr ""
 
-#: ppdc/sample.c:236
+#: ppdc/sample.c:227
 msgid "8.00x6.00\""
 msgstr ""
 
-#: ppdc/sample.c:237
+#: ppdc/sample.c:228
 msgid "8.00x6.50\""
 msgstr ""
 
-#: ppdc/sample.c:428
+#: ppdc/sample.c:419
 msgid "80"
 msgstr ""
 
-#: ppdc/sample.c:342
+#: ppdc/sample.c:333
 msgid "80 mm/sec."
 msgstr ""
 
-#: ppdc/sample.c:429
+#: ppdc/sample.c:420
 msgid "85"
 msgstr ""
 
-#: ppdc/sample.c:329
+#: ppdc/sample.c:320
 msgid "9"
 msgstr ""
 
-#: ppdc/sample.c:451
+#: ppdc/sample.c:442
 msgid "9 inches/sec."
 msgstr ""
 
@@ -2528,15 +2457,15 @@ msgstr ""
 msgid "9 x 12"
 msgstr ""
 
-#: ppdc/sample.c:256
+#: ppdc/sample.c:247
 msgid "9-Pin Series"
 msgstr ""
 
-#: ppdc/sample.c:430
+#: ppdc/sample.c:421
 msgid "90"
 msgstr ""
 
-#: ppdc/sample.c:431
+#: ppdc/sample.c:422
 msgid "95"
 msgstr ""
 
@@ -2544,11 +2473,11 @@ msgstr ""
 msgid "?Invalid help command unknown."
 msgstr ""
 
-#: cgi-bin/admin.c:2349
+#: cgi-bin/admin.c:2368
 msgid "A Samba password is required to export printer drivers"
 msgstr ""
 
-#: cgi-bin/admin.c:2345
+#: cgi-bin/admin.c:2364
 msgid "A Samba username is required to export printer drivers"
 msgstr ""
 
@@ -2702,7 +2631,7 @@ msgstr ""
 msgid "Accept Jobs"
 msgstr ""
 
-#: cups/http-support.c:1257
+#: cups/http-support.c:1284
 msgid "Accepted"
 msgstr ""
 
@@ -2723,15 +2652,11 @@ msgstr ""
 msgid "Address"
 msgstr ""
 
-#: ppdc/sample.c:172
-msgid "Address - 1 1/8 x 3 1/2\""
-msgstr ""
-
-#: cgi-bin/admin.c:210 cgi-bin/admin.c:284 cgi-bin/admin.c:2723
+#: cgi-bin/admin.c:210 cgi-bin/admin.c:284 cgi-bin/admin.c:2745
 msgid "Administration"
 msgstr ""
 
-#: ppdc/sample.c:438
+#: ppdc/sample.c:429
 msgid "Always"
 msgstr ""
 
@@ -2739,7 +2664,7 @@ msgstr ""
 msgid "AppSocket/HP JetDirect"
 msgstr ""
 
-#: ppdc/sample.c:459
+#: ppdc/sample.c:450
 msgid "Applicator"
 msgstr ""
 
@@ -2801,7 +2726,7 @@ msgstr ""
 msgid "B9"
 msgstr ""
 
-#: cups/dest.c:1536
+#: cups/dest.c:1533
 msgid "Bad NULL dests pointer"
 msgstr ""
 
@@ -2830,7 +2755,7 @@ msgstr ""
 msgid "Bad PPD cache file."
 msgstr ""
 
-#: cups/http-support.c:1272
+#: cups/http-support.c:1299
 msgid "Bad Request"
 msgstr ""
 
@@ -2851,7 +2776,7 @@ msgstr ""
 msgid "Bad custom parameter"
 msgstr ""
 
-#: cups/http-support.c:1424 scheduler/ipp.c:2362
+#: cups/http-support.c:1451 scheduler/ipp.c:2362
 #, c-format
 msgid "Bad device-uri \"%s\"."
 msgstr ""
@@ -2931,7 +2856,7 @@ msgstr ""
 msgid "Bad port-monitor \"%s\"."
 msgstr ""
 
-#: cups/dest.c:626 cups/dest.c:1189
+#: cups/dest.c:621 cups/dest.c:1186
 msgid "Bad printer URI."
 msgstr ""
 
@@ -2958,11 +2883,11 @@ msgstr ""
 msgid "Bad value string"
 msgstr ""
 
-#: cgi-bin/admin.c:3268 cgi-bin/admin.c:3514
+#: cgi-bin/admin.c:3290 cgi-bin/admin.c:3536
 msgid "Banners"
 msgstr ""
 
-#: ppdc/sample.c:296
+#: ppdc/sample.c:287
 msgid "Bond Paper"
 msgstr ""
 
@@ -2975,11 +2900,11 @@ msgstr ""
 msgid "Buffer overflow detected, aborting."
 msgstr ""
 
-#: ppdc/sample.c:263
+#: ppdc/sample.c:254
 msgid "CMYK"
 msgstr ""
 
-#: ppdc/sample.c:372
+#: ppdc/sample.c:363
 msgid "CPCL Label Printer"
 msgstr ""
 
@@ -2987,7 +2912,7 @@ msgstr ""
 msgid "Cancel RSS Subscription"
 msgstr ""
 
-#: backend/ipp.c:1903
+#: backend/ipp.c:1908
 msgid "Canceling print job."
 msgstr ""
 
@@ -2995,12 +2920,12 @@ msgstr ""
 msgid "Cannot share a remote Kerberized printer."
 msgstr ""
 
-#: ppdc/sample.c:288
+#: ppdc/sample.c:279
 msgid "Cassette"
 msgstr ""
 
-#: cgi-bin/admin.c:1636 cgi-bin/admin.c:1778 cgi-bin/admin.c:1791
-#: cgi-bin/admin.c:1802
+#: cgi-bin/admin.c:1655 cgi-bin/admin.c:1797 cgi-bin/admin.c:1810
+#: cgi-bin/admin.c:1821
 msgid "Change Settings"
 msgstr ""
 
@@ -3021,11 +2946,11 @@ msgstr ""
 msgid "Close-Job doesn't support the job-uri attribute."
 msgstr ""
 
-#: ppdc/sample.c:291
+#: ppdc/sample.c:282
 msgid "Color"
 msgstr ""
 
-#: ppdc/sample.c:262
+#: ppdc/sample.c:253
 msgid "Color Mode"
 msgstr ""
 
@@ -3040,19 +2965,19 @@ msgstr ""
 msgid "Community name uses indefinite length"
 msgstr ""
 
-#: backend/ipp.c:779 backend/lpd.c:871 backend/socket.c:395
+#: backend/ipp.c:784 backend/lpd.c:871 backend/socket.c:395
 msgid "Connected to printer."
 msgstr ""
 
-#: backend/ipp.c:686 backend/lpd.c:694 backend/socket.c:314
+#: backend/ipp.c:689 backend/lpd.c:694 backend/socket.c:314
 msgid "Connecting to printer."
 msgstr ""
 
-#: cups/http-support.c:1245
+#: cups/http-support.c:1272
 msgid "Continue"
 msgstr ""
 
-#: ppdc/sample.c:374
+#: ppdc/sample.c:365
 msgid "Continuous"
 msgstr ""
 
@@ -3060,11 +2985,11 @@ msgstr ""
 msgid "Control file sent successfully."
 msgstr ""
 
-#: backend/ipp.c:1223 backend/lpd.c:464
+#: backend/ipp.c:1226 backend/lpd.c:464
 msgid "Copying print data."
 msgstr ""
 
-#: cups/http-support.c:1254
+#: cups/http-support.c:1281
 msgid "Created"
 msgstr ""
 
@@ -3072,27 +2997,27 @@ msgstr ""
 msgid "Custom"
 msgstr ""
 
-#: ppdc/sample.c:368
+#: ppdc/sample.c:359
 msgid "CustominCutInterval"
 msgstr ""
 
-#: ppdc/sample.c:366
+#: ppdc/sample.c:357
 msgid "CustominTearInterval"
 msgstr ""
 
-#: ppdc/sample.c:352
+#: ppdc/sample.c:343
 msgid "Cut"
 msgstr ""
 
-#: ppdc/sample.c:460
+#: ppdc/sample.c:451
 msgid "Cutter"
 msgstr ""
 
-#: ppdc/sample.c:248
+#: ppdc/sample.c:239
 msgid "Dark"
 msgstr ""
 
-#: ppdc/sample.c:244
+#: ppdc/sample.c:235
 msgid "Darkness"
 msgstr ""
 
@@ -3100,15 +3025,15 @@ msgstr ""
 msgid "Data file sent successfully."
 msgstr ""
 
-#: cgi-bin/admin.c:2075 cgi-bin/admin.c:2086 cgi-bin/admin.c:2131
+#: cgi-bin/admin.c:2094 cgi-bin/admin.c:2105 cgi-bin/admin.c:2150
 msgid "Delete Class"
 msgstr ""
 
-#: cgi-bin/admin.c:2160 cgi-bin/admin.c:2171 cgi-bin/admin.c:2216
+#: cgi-bin/admin.c:2179 cgi-bin/admin.c:2190 cgi-bin/admin.c:2235
 msgid "Delete Printer"
 msgstr ""
 
-#: ppdc/sample.c:290
+#: ppdc/sample.c:281
 msgid "DeskJet Series"
 msgstr ""
 
@@ -3128,7 +3053,7 @@ msgid ""
 "        location = %s"
 msgstr ""
 
-#: ppdc/sample.c:445
+#: ppdc/sample.c:436
 msgid "Direct Thermal Media"
 msgstr ""
 
@@ -3157,7 +3082,7 @@ msgstr ""
 msgid "Directory \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
 msgstr ""
 
-#: ppdc/sample.c:354
+#: ppdc/sample.c:345
 msgid "Disabled"
 msgstr ""
 
@@ -3166,25 +3091,25 @@ msgstr ""
 msgid "Document #%d does not exist in job #%d."
 msgstr ""
 
-#: ppdc/sample.c:284
+#: ppdc/sample.c:275
 msgid "Duplexer"
 msgstr ""
 
-#: ppdc/sample.c:238
+#: ppdc/sample.c:229
 msgid "Dymo"
 msgstr ""
 
-#: ppdc/sample.c:440
+#: ppdc/sample.c:431
 msgid "EPL1 Label Printer"
 msgstr ""
 
-#: ppdc/sample.c:443
+#: ppdc/sample.c:434
 msgid "EPL2 Label Printer"
 msgstr ""
 
-#: cgi-bin/admin.c:1830 cgi-bin/admin.c:1842 cgi-bin/admin.c:1896
-#: cgi-bin/admin.c:1903 cgi-bin/admin.c:1938 cgi-bin/admin.c:1951
-#: cgi-bin/admin.c:1975 cgi-bin/admin.c:2048
+#: cgi-bin/admin.c:1849 cgi-bin/admin.c:1861 cgi-bin/admin.c:1915
+#: cgi-bin/admin.c:1922 cgi-bin/admin.c:1957 cgi-bin/admin.c:1970
+#: cgi-bin/admin.c:1994 cgi-bin/admin.c:2067
 msgid "Edit Configuration File"
 msgstr ""
 
@@ -3193,7 +3118,7 @@ msgid "Empty PPD file."
 msgstr ""
 
 #. TRANSLATORS: Banner/cover sheet after the print job.
-#: cgi-bin/admin.c:3539
+#: cgi-bin/admin.c:3561
 msgid "Ending Banner"
 msgstr ""
 
@@ -3213,7 +3138,7 @@ msgstr ""
 msgid "Enter password:"
 msgstr ""
 
-#: scheduler/client.c:2498
+#: scheduler/client.c:2427
 msgid "Enter your username and password or the root username and password to access this page. If you are using Kerberos authentication, make sure you have a valid Kerberos ticket."
 msgstr ""
 
@@ -3305,7 +3230,7 @@ msgstr ""
 msgid "Envelope DL"
 msgstr ""
 
-#: ppdc/sample.c:278
+#: ppdc/sample.c:269
 msgid "Envelope Feed"
 msgstr ""
 
@@ -3429,11 +3354,11 @@ msgstr ""
 msgid "Envelope You4 Long Edge"
 msgstr ""
 
-#: ppdc/sample.c:249
+#: ppdc/sample.c:240
 msgid "Epson"
 msgstr ""
 
-#: cgi-bin/admin.c:3582
+#: cgi-bin/admin.c:3604
 msgid "Error Policy"
 msgstr ""
 
@@ -3446,43 +3371,43 @@ msgstr ""
 msgid "Error: need hostname after \"-h\" option."
 msgstr ""
 
-#: ppdc/sample.c:364
+#: ppdc/sample.c:355
 msgid "Every 10 Labels"
 msgstr ""
 
-#: ppdc/sample.c:356
+#: ppdc/sample.c:347
 msgid "Every 2 Labels"
 msgstr ""
 
-#: ppdc/sample.c:357
+#: ppdc/sample.c:348
 msgid "Every 3 Labels"
 msgstr ""
 
-#: ppdc/sample.c:358
+#: ppdc/sample.c:349
 msgid "Every 4 Labels"
 msgstr ""
 
-#: ppdc/sample.c:359
+#: ppdc/sample.c:350
 msgid "Every 5 Labels"
 msgstr ""
 
-#: ppdc/sample.c:360
+#: ppdc/sample.c:351
 msgid "Every 6 Labels"
 msgstr ""
 
-#: ppdc/sample.c:361
+#: ppdc/sample.c:352
 msgid "Every 7 Labels"
 msgstr ""
 
-#: ppdc/sample.c:362
+#: ppdc/sample.c:353
 msgid "Every 8 Labels"
 msgstr ""
 
-#: ppdc/sample.c:363
+#: ppdc/sample.c:354
 msgid "Every 9 Labels"
 msgstr ""
 
-#: ppdc/sample.c:355
+#: ppdc/sample.c:346
 msgid "Every Label"
 msgstr ""
 
@@ -3490,11 +3415,11 @@ msgstr ""
 msgid "Executive"
 msgstr ""
 
-#: cups/http-support.c:1300
+#: cups/http-support.c:1327
 msgid "Expectation Failed"
 msgstr ""
 
-#: cgi-bin/admin.c:2337 cgi-bin/admin.c:2356
+#: cgi-bin/admin.c:2356 cgi-bin/admin.c:2375
 msgid "Export Printers to Samba"
 msgstr ""
 
@@ -3546,11 +3471,7 @@ msgid "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)."
 msgstr ""
 
 #: ppdc/sample.c:169
-msgid "File Folder"
-msgstr ""
-
-#: ppdc/sample.c:178
-msgid "File Folder - 9/16 x 3 7/16\""
+msgid "File Folder "
 msgstr ""
 
 #: scheduler/ipp.c:2382
@@ -3568,7 +3489,7 @@ msgstr ""
 msgid "Folio"
 msgstr ""
 
-#: cups/http-support.c:1279
+#: cups/http-support.c:1306
 msgid "Forbidden"
 msgstr ""
 
@@ -3576,7 +3497,7 @@ msgstr ""
 msgid "General"
 msgstr ""
 
-#: ppdc/sample.c:268
+#: ppdc/sample.c:259
 msgid "Generic"
 msgstr ""
 
@@ -3584,7 +3505,7 @@ msgstr ""
 msgid "Get-Response-PDU uses indefinite length"
 msgstr ""
 
-#: ppdc/sample.c:299
+#: ppdc/sample.c:290
 msgid "Glossy Paper"
 msgstr ""
 
@@ -3595,11 +3516,11 @@ msgstr ""
 msgid "Got a printer-uri attribute but no job-id."
 msgstr ""
 
-#: ppdc/sample.c:264
+#: ppdc/sample.c:255
 msgid "Grayscale"
 msgstr ""
 
-#: ppdc/sample.c:289
+#: ppdc/sample.c:280
 msgid "HP"
 msgstr ""
 
@@ -3607,83 +3528,83 @@ msgstr ""
 msgid "Hanging Folder"
 msgstr ""
 
-#: ppdc/sample.c:179
-msgid "Hanging Folder - 9/16 x 2\""
+#: cgi-bin/help.c:143
+msgid "Help file not in index."
 msgstr ""
 
-#: cups/ipp.c:2677 cups/ipp.c:2704 cups/ipp.c:2727
+#: cups/ipp.c:2687 cups/ipp.c:2714 cups/ipp.c:2737
 msgid "IPP 1setOf attribute with incompatible value tags."
 msgstr ""
 
-#: cups/ipp.c:2640
+#: cups/ipp.c:2650
 msgid "IPP attribute has no name."
 msgstr ""
 
-#: cups/ipp.c:5519
+#: cups/ipp.c:5525
 msgid "IPP attribute is not a member of the message."
 msgstr ""
 
-#: cups/ipp.c:3067
+#: cups/ipp.c:3077
 msgid "IPP begCollection value not 0 bytes."
 msgstr ""
 
-#: cups/ipp.c:2863
+#: cups/ipp.c:2873
 msgid "IPP boolean value not 1 byte."
 msgstr ""
 
-#: cups/ipp.c:2921
+#: cups/ipp.c:2931
 msgid "IPP date value not 11 bytes."
 msgstr ""
 
-#: cups/ipp.c:3088
+#: cups/ipp.c:3098
 msgid "IPP endCollection value not 0 bytes."
 msgstr ""
 
-#: cups/ipp.c:2838
+#: cups/ipp.c:2848
 msgid "IPP enum value not 4 bytes."
 msgstr ""
 
-#: cups/ipp.c:2569
+#: cups/ipp.c:2579
 msgid "IPP extension tag larger than 0x7FFFFFFF."
 msgstr ""
 
-#: cups/ipp.c:2835
+#: cups/ipp.c:2845
 msgid "IPP integer value not 4 bytes."
 msgstr ""
 
-#: cups/ipp.c:3030
+#: cups/ipp.c:3040
 msgid "IPP language length overflows value."
 msgstr ""
 
-#: cups/ipp.c:2754
+#: cups/ipp.c:2764
 msgid "IPP member name is not empty."
 msgstr ""
 
-#: cups/ipp.c:2623
+#: cups/ipp.c:2633
 msgid "IPP name larger than 32767 bytes."
 msgstr ""
 
-#: cups/ipp.c:2997
+#: cups/ipp.c:3007
 msgid "IPP nameWithLanguage value less than minimum 4 bytes."
 msgstr ""
 
-#: cups/ipp.c:2966
+#: cups/ipp.c:2976
 msgid "IPP rangeOfInteger value not 8 bytes."
 msgstr ""
 
-#: cups/ipp.c:2939
+#: cups/ipp.c:2949
 msgid "IPP resolution value not 9 bytes."
 msgstr ""
 
-#: cups/ipp.c:3047
+#: cups/ipp.c:3057
 msgid "IPP string length overflows value."
 msgstr ""
 
-#: cups/ipp.c:2993
+#: cups/ipp.c:3003
 msgid "IPP textWithLanguage value less than minimum 4 bytes."
 msgstr ""
 
-#: cups/ipp.c:2821
+#: cups/ipp.c:2831
 msgid "IPP value larger than 32767 bytes."
 msgstr ""
 
@@ -3711,23 +3632,23 @@ msgstr ""
 msgid "Illegal whitespace character"
 msgstr ""
 
-#: ppdc/sample.c:283
+#: ppdc/sample.c:274
 msgid "Installable Options"
 msgstr ""
 
-#: ppdc/sample.c:286
+#: ppdc/sample.c:277
 msgid "Installed"
 msgstr ""
 
-#: ppdc/sample.c:302
+#: ppdc/sample.c:293
 msgid "IntelliBar Label Printer"
 msgstr ""
 
-#: ppdc/sample.c:301
+#: ppdc/sample.c:292
 msgid "Intellitech"
 msgstr ""
 
-#: cups/http-support.c:1306
+#: cups/http-support.c:1333
 msgid "Internal Server Error"
 msgstr ""
 
@@ -3739,18 +3660,10 @@ msgstr ""
 msgid "Internet Postage 2-Part"
 msgstr ""
 
-#: ppdc/sample.c:176
-msgid "Internet Postage 2-Part - 2 1/4 x 7 1/2\""
-msgstr ""
-
 #: ppdc/sample.c:168
 msgid "Internet Postage 3-Part"
 msgstr ""
 
-#: ppdc/sample.c:177
-msgid "Internet Postage 3-Part - 2 1/4 x 7\""
-msgstr ""
-
 #: backend/ipp.c:305
 msgid "Internet Printing Protocol"
 msgstr ""
@@ -3895,7 +3808,7 @@ msgid "Job is completed and cannot be changed."
 msgstr ""
 
 #: cgi-bin/jobs.c:198
-msgid "Job operation failed:"
+msgid "Job operation failed"
 msgstr ""
 
 #: scheduler/ipp.c:10798 scheduler/ipp.c:10817 scheduler/ipp.c:10828
@@ -3914,11 +3827,11 @@ msgstr ""
 msgid "LPD/LPR Host or Printer"
 msgstr ""
 
-#: ppdc/sample.c:239
+#: ppdc/sample.c:230
 msgid "Label Printer"
 msgstr ""
 
-#: ppdc/sample.c:455
+#: ppdc/sample.c:446
 msgid "Label Top"
 msgstr ""
 
@@ -3931,11 +3844,7 @@ msgstr ""
 msgid "Large Address"
 msgstr ""
 
-#: ppdc/sample.c:173
-msgid "Large Address - 1 4/10 x 3 1/2\""
-msgstr ""
-
-#: ppdc/sample.c:300
+#: ppdc/sample.c:291
 msgid "LaserJet Series PCL 4/5"
 msgstr ""
 
@@ -3947,7 +3856,7 @@ msgstr ""
 msgid "Letter Oversize Long Edge"
 msgstr ""
 
-#: ppdc/sample.c:245
+#: ppdc/sample.c:236
 msgid "Light"
 msgstr ""
 
@@ -3955,19 +3864,19 @@ msgstr ""
 msgid "Line longer than the maximum allowed (255 characters)"
 msgstr ""
 
-#: cgi-bin/admin.c:2374
+#: cgi-bin/admin.c:2393
 msgid "List Available Printers"
 msgstr ""
 
-#: ppdc/sample.c:281
+#: ppdc/sample.c:272
 msgid "Long-Edge (Portrait)"
 msgstr ""
 
-#: cups/http-support.c:1525
+#: cups/http-support.c:1558
 msgid "Looking for printer."
 msgstr ""
 
-#: ppdc/sample.c:277
+#: ppdc/sample.c:268
 msgid "Manual Feed"
 msgstr ""
 
@@ -3975,19 +3884,19 @@ msgstr ""
 msgid "Media Size"
 msgstr ""
 
-#: cups/ppd.c:793 cups/ppd.c:1361 ppdc/sample.c:271
+#: cups/ppd.c:793 cups/ppd.c:1361 ppdc/sample.c:262
 msgid "Media Source"
 msgstr ""
 
-#: ppdc/sample.c:373
+#: ppdc/sample.c:364
 msgid "Media Tracking"
 msgstr ""
 
-#: cups/ppd.c:791 cups/ppd.c:1359 ppdc/sample.c:294
+#: cups/ppd.c:791 cups/ppd.c:1359 ppdc/sample.c:285
 msgid "Media Type"
 msgstr ""
 
-#: ppdc/sample.c:246
+#: ppdc/sample.c:237
 msgid "Medium"
 msgstr ""
 
@@ -4016,9 +3925,9 @@ msgstr ""
 msgid "Missing double quote on line %d."
 msgstr ""
 
-#: cgi-bin/admin.c:736 cgi-bin/admin.c:2087 cgi-bin/admin.c:2172
-#: cgi-bin/admin.c:2763 cgi-bin/admin.c:3017 cgi-bin/admin.c:3128
-#: cgi-bin/admin.c:3838
+#: cgi-bin/admin.c:736 cgi-bin/admin.c:2106 cgi-bin/admin.c:2191
+#: cgi-bin/admin.c:2785 cgi-bin/admin.c:3039 cgi-bin/admin.c:3150
+#: cgi-bin/admin.c:3860
 msgid "Missing form variable"
 msgstr ""
 
@@ -4026,11 +3935,11 @@ msgstr ""
 msgid "Missing last-document attribute in request."
 msgstr ""
 
-#: cups/pwg-media.c:473
+#: cups/pwg-media.c:474
 msgid "Missing media or media-col."
 msgstr ""
 
-#: cups/pwg-media.c:392
+#: cups/pwg-media.c:393
 msgid "Missing media-size in media-col."
 msgstr ""
 
@@ -4059,11 +3968,11 @@ msgstr ""
 msgid "Missing value string"
 msgstr ""
 
-#: cups/pwg-media.c:380
+#: cups/pwg-media.c:381
 msgid "Missing x-dimension in media-size."
 msgstr ""
 
-#: cups/pwg-media.c:386
+#: cups/pwg-media.c:387
 msgid "Missing y-dimension in media-size."
 msgstr ""
 
@@ -4092,7 +4001,7 @@ msgstr ""
 msgid "Move Job"
 msgstr ""
 
-#: cups/http-support.c:1263
+#: cups/http-support.c:1290
 msgid "Moved Permanently"
 msgstr ""
 
@@ -4108,15 +4017,15 @@ msgstr ""
 msgid "Nested classes are not allowed."
 msgstr ""
 
-#: ppdc/sample.c:439
+#: ppdc/sample.c:430
 msgid "Never"
 msgstr ""
 
-#: ppdc/sample.c:265
+#: ppdc/sample.c:256
 msgid "New Stylus Color Series"
 msgstr ""
 
-#: ppdc/sample.c:267
+#: ppdc/sample.c:258
 msgid "New Stylus Photo Series"
 msgstr ""
 
@@ -4124,7 +4033,7 @@ msgstr ""
 msgid "No"
 msgstr ""
 
-#: cups/http-support.c:1260
+#: cups/http-support.c:1287
 msgid "No Content"
 msgstr ""
 
@@ -4140,7 +4049,7 @@ msgstr ""
 msgid "No Windows printer drivers are installed."
 msgstr ""
 
-#: cups/request.c:571 cups/request.c:914
+#: cups/request.c:571 cups/request.c:913
 msgid "No active connection"
 msgstr ""
 
@@ -4234,35 +4143,35 @@ msgstr ""
 msgid "No version number"
 msgstr ""
 
-#: ppdc/sample.c:376
+#: ppdc/sample.c:367
 msgid "Non-continuous (Mark sensing)"
 msgstr ""
 
-#: ppdc/sample.c:375
+#: ppdc/sample.c:366
 msgid "Non-continuous (Web sensing)"
 msgstr ""
 
-#: ppdc/sample.c:247
+#: ppdc/sample.c:238
 msgid "Normal"
 msgstr ""
 
-#: cups/http-support.c:1282
+#: cups/http-support.c:1309
 msgid "Not Found"
 msgstr ""
 
-#: cups/http-support.c:1294
+#: cups/http-support.c:1321
 msgid "Not Implemented"
 msgstr ""
 
-#: ppdc/sample.c:285
+#: ppdc/sample.c:276
 msgid "Not Installed"
 msgstr ""
 
-#: cups/http-support.c:1269
+#: cups/http-support.c:1296
 msgid "Not Modified"
 msgstr ""
 
-#: cups/http-support.c:1297
+#: cups/http-support.c:1324
 msgid "Not Supported"
 msgstr ""
 
@@ -4278,19 +4187,19 @@ msgstr ""
 msgid "Note: this program only validates the DSC comments, not the PostScript itself."
 msgstr ""
 
-#: cups/http-support.c:1251 cups/ppd.c:338
+#: cups/http-support.c:1278 cups/ppd.c:338
 msgid "OK"
 msgstr ""
 
-#: ppdc/sample.c:280
+#: ppdc/sample.c:271
 msgid "Off (1-Sided)"
 msgstr ""
 
-#: ppdc/sample.c:370
+#: ppdc/sample.c:361
 msgid "Oki"
 msgstr ""
 
-#: cgi-bin/help.c:90 cgi-bin/help.c:131 cgi-bin/help.c:141 cgi-bin/help.c:172
+#: cgi-bin/help.c:91 cgi-bin/help.c:132 cgi-bin/help.c:142 cgi-bin/help.c:172
 msgid "Online Help"
 msgstr ""
 
@@ -4307,7 +4216,7 @@ msgstr ""
 msgid "OpenUI/JCLOpenUI without a CloseUI/JCLCloseUI first"
 msgstr ""
 
-#: cgi-bin/admin.c:3609
+#: cgi-bin/admin.c:3631
 msgid "Operation Policy"
 msgstr ""
 
@@ -4316,15 +4225,14 @@ msgstr ""
 msgid "Option \"%s\" cannot be included via %%%%IncludeFeature."
 msgstr ""
 
-#: cgi-bin/admin.c:3259 cgi-bin/admin.c:3343
+#: cgi-bin/admin.c:3281 cgi-bin/admin.c:3365
 msgid "Options Installed"
 msgstr ""
 
-#: scheduler/cupsfilter.c:1438 scheduler/cupsfilter.c:1465
-#: scheduler/main.c:2019 systemv/cupsaddsmb.c:284 systemv/cupsctl.c:203
-#: systemv/cupstestdsc.c:429 systemv/cupstestppd.c:3796 test/ipptool.c:4336
-#: ppdc/ppdc.cxx:437 ppdc/ppdhtml.cxx:174 ppdc/ppdi.cxx:130
-#: ppdc/ppdmerge.cxx:369 ppdc/ppdpo.cxx:254
+#: scheduler/cupsfilter.c:1430 scheduler/main.c:2018 systemv/cupsaddsmb.c:284
+#: systemv/cupsctl.c:203 systemv/cupstestdsc.c:429 systemv/cupstestppd.c:3797
+#: test/ipptool.c:4336 ppdc/ppdc.cxx:437 ppdc/ppdhtml.cxx:174
+#: ppdc/ppdi.cxx:130 ppdc/ppdmerge.cxx:369 ppdc/ppdpo.cxx:254
 msgid "Options:"
 msgstr ""
 
@@ -4364,7 +4272,7 @@ msgstr ""
 msgid "PASS"
 msgstr ""
 
-#: ppdc/sample.c:269
+#: ppdc/sample.c:260
 msgid "PCL Laser Printer"
 msgstr ""
 
@@ -4400,11 +4308,11 @@ msgstr ""
 msgid "Packet does not start with SEQUENCE"
 msgstr ""
 
-#: ppdc/sample.c:369
+#: ppdc/sample.c:360
 msgid "ParamCustominCutInterval"
 msgstr ""
 
-#: ppdc/sample.c:367
+#: ppdc/sample.c:358
 msgid "ParamCustominTearInterval"
 msgstr ""
 
@@ -4426,7 +4334,7 @@ msgstr ""
 msgid "Pause Printer"
 msgstr ""
 
-#: ppdc/sample.c:457
+#: ppdc/sample.c:448
 msgid "Peel-Off"
 msgstr ""
 
@@ -4438,19 +4346,19 @@ msgstr ""
 msgid "Photo Labels"
 msgstr ""
 
-#: ppdc/sample.c:295
+#: ppdc/sample.c:286
 msgid "Plain Paper"
 msgstr ""
 
-#: cgi-bin/admin.c:3277 cgi-bin/admin.c:3558
+#: cgi-bin/admin.c:3299 cgi-bin/admin.c:3580
 msgid "Policies"
 msgstr ""
 
-#: cgi-bin/admin.c:3284 cgi-bin/admin.c:3627 cgi-bin/admin.c:3640
+#: cgi-bin/admin.c:3306 cgi-bin/admin.c:3649 cgi-bin/admin.c:3662
 msgid "Port Monitor"
 msgstr ""
 
-#: ppdc/sample.c:287
+#: ppdc/sample.c:278
 msgid "PostScript Printer"
 msgstr ""
 
@@ -4470,7 +4378,7 @@ msgstr ""
 msgid "Postcard Long Edge"
 msgstr ""
 
-#: ppdc/sample.c:304
+#: ppdc/sample.c:295
 msgid "Print Density"
 msgstr ""
 
@@ -4478,11 +4386,11 @@ msgstr ""
 msgid "Print Job:"
 msgstr ""
 
-#: ppdc/sample.c:349
+#: ppdc/sample.c:340
 msgid "Print Mode"
 msgstr ""
 
-#: ppdc/sample.c:392
+#: ppdc/sample.c:383
 msgid "Print Rate"
 msgstr ""
 
@@ -4490,7 +4398,7 @@ msgstr ""
 msgid "Print Self-Test Page"
 msgstr ""
 
-#: ppdc/sample.c:336
+#: ppdc/sample.c:327
 msgid "Print Speed"
 msgstr ""
 
@@ -4498,32 +4406,36 @@ msgstr ""
 msgid "Print Test Page"
 msgstr ""
 
-#: ppdc/sample.c:365
+#: ppdc/sample.c:356
 msgid "Print and Cut"
 msgstr ""
 
-#: ppdc/sample.c:353
+#: ppdc/sample.c:344
 msgid "Print and Tear"
 msgstr ""
 
-#: backend/ipp.c:1523
+#: backend/ipp.c:1526
 #, c-format
 msgid "Print file accepted - job ID %d."
 msgstr ""
 
-#: backend/ipp.c:1513
+#: backend/ipp.c:1516
 msgid "Print file accepted - job ID unknown."
 msgstr ""
 
-#: backend/socket.c:424 backend/usb-unix.c:195
+#: backend/socket.c:424 backend/usb-unix.c:191
 msgid "Print file sent."
 msgstr ""
 
-#: backend/ipp.c:1474
+#: backend/ipp.c:1477
 msgid "Print file was not accepted."
 msgstr ""
 
-#: backend/ipp.c:1875
+#: backend/ipp.c:1882
+msgid "Print job canceled at printer."
+msgstr ""
+
+#: backend/ipp.c:1880
 msgid "Print job too large."
 msgstr ""
 
@@ -4531,7 +4443,7 @@ msgstr ""
 msgid "Printer Added"
 msgstr ""
 
-#: ppdc/sample.c:272
+#: ppdc/sample.c:263
 msgid "Printer Default"
 msgstr ""
 
@@ -4547,47 +4459,10 @@ msgstr ""
 msgid "Printer Paused"
 msgstr ""
 
-#: ppdc/sample.c:303
+#: ppdc/sample.c:294
 msgid "Printer Settings"
 msgstr ""
 
-#: backend/usb-unix.c:132
-msgid "Printer busy, will retry in 10 seconds."
-msgstr ""
-
-#: backend/lpd.c:619 backend/lpd.c:1009 backend/lpd.c:1091 backend/lpd.c:1141
-msgid "Printer did not respond."
-msgstr ""
-
-#: backend/ipp.c:885 backend/ipp.c:892
-#, c-format
-msgid "Printer does not support IPP/%d.%d, trying IPP/%s."
-msgstr ""
-
-#: backend/usb-unix.c:429 backend/usb-unix.c:513
-msgid "Printer is busy, will retry in 5 seconds."
-msgstr ""
-
-#: backend/runloop.c:253 backend/runloop.c:371
-msgid "Printer is not currently connected."
-msgstr ""
-
-#: backend/runloop.c:392
-msgid "Printer is now connected."
-msgstr ""
-
-#: backend/usb-darwin.c:1286
-msgid "Printer is now online."
-msgstr ""
-
-#: backend/usb-darwin.c:1307
-msgid "Printer is offline."
-msgstr ""
-
-#: backend/usb-unix.c:139
-msgid "Printer not connected, will retry in 30 seconds."
-msgstr ""
-
 #: cups/notify.c:126
 msgid "Printer:"
 msgstr ""
@@ -4623,11 +4498,6 @@ msgstr ""
 msgid "Rank   Owner      Pri  Job        Files                       Total Size"
 msgstr ""
 
-#: backend/ipp.c:1882 backend/socket.c:475 filter/rastertoepson.c:1152
-#: filter/rastertohp.c:881 filter/rastertolabel.c:1307
-msgid "Ready to print."
-msgstr ""
-
 #: cgi-bin/classes.c:171 cgi-bin/printers.c:174
 msgid "Reject Jobs"
 msgstr ""
@@ -4642,15 +4512,15 @@ msgstr ""
 msgid "Remote host did not accept data file (%d)."
 msgstr ""
 
-#: ppdc/sample.c:437
+#: ppdc/sample.c:428
 msgid "Reprint After Error"
 msgstr ""
 
-#: cups/http-support.c:1285
+#: cups/http-support.c:1312
 msgid "Request Entity Too Large"
 msgstr ""
 
-#: cups/ppd.c:797 cups/ppd.c:1365 ppdc/sample.c:240
+#: cups/ppd.c:797 cups/ppd.c:1365 ppdc/sample.c:231
 msgid "Resolution"
 msgstr ""
 
@@ -4666,11 +4536,7 @@ msgstr ""
 msgid "Return Address"
 msgstr ""
 
-#: ppdc/sample.c:174
-msgid "Return Address - 3/4 x 2\""
-msgstr ""
-
-#: ppdc/sample.c:458
+#: ppdc/sample.c:449
 msgid "Rewind"
 msgstr ""
 
@@ -4683,11 +4549,11 @@ msgstr ""
 msgid "SEQUENCE uses indefinite length"
 msgstr ""
 
-#: cups/http-support.c:1309
+#: cups/http-support.c:1336
 msgid "SSL/TLS Negotiation Error"
 msgstr ""
 
-#: cups/http-support.c:1266
+#: cups/http-support.c:1293
 msgid "See Other"
 msgstr ""
 
@@ -4711,28 +4577,28 @@ msgstr ""
 msgid "Server Stopped"
 msgstr ""
 
-#: cups/http-support.c:1303
+#: cups/http-support.c:1330
 msgid "Service Unavailable"
 msgstr ""
 
-#: cgi-bin/admin.c:2764 cgi-bin/admin.c:2810 cgi-bin/admin.c:2967
-#: cgi-bin/admin.c:2986
+#: cgi-bin/admin.c:2786 cgi-bin/admin.c:2832 cgi-bin/admin.c:2989
+#: cgi-bin/admin.c:3008
 msgid "Set Allowed Users"
 msgstr ""
 
-#: cgi-bin/admin.c:3013
+#: cgi-bin/admin.c:3035
 msgid "Set As Server Default"
 msgstr ""
 
-#: cgi-bin/admin.c:3113
+#: cgi-bin/admin.c:3135
 msgid "Set Class Options"
 msgstr ""
 
-#: cgi-bin/admin.c:3113 cgi-bin/admin.c:3287 cgi-bin/admin.c:3669
+#: cgi-bin/admin.c:3135 cgi-bin/admin.c:3309 cgi-bin/admin.c:3691
 msgid "Set Printer Options"
 msgstr ""
 
-#: cgi-bin/admin.c:3839 cgi-bin/admin.c:3883 cgi-bin/admin.c:3901
+#: cgi-bin/admin.c:3861 cgi-bin/admin.c:3905 cgi-bin/admin.c:3923
 msgid "Set Publishing"
 msgstr ""
 
@@ -4740,15 +4606,11 @@ msgstr ""
 msgid "Shipping Address"
 msgstr ""
 
-#: ppdc/sample.c:175
-msgid "Shipping Address - 2 5/16 x 4\""
-msgstr ""
-
-#: ppdc/sample.c:282
+#: ppdc/sample.c:273
 msgid "Short-Edge (Landscape)"
 msgstr ""
 
-#: ppdc/sample.c:297
+#: ppdc/sample.c:288
 msgid "Special Paper"
 msgstr ""
 
@@ -4757,12 +4619,12 @@ msgstr ""
 msgid "Spooling job, %.0f%% complete."
 msgstr ""
 
-#: ppdc/sample.c:350
+#: ppdc/sample.c:341
 msgid "Standard"
 msgstr ""
 
 #. TRANSLATORS: Banner/cover sheet before the print job.
-#: cgi-bin/admin.c:3530
+#: cgi-bin/admin.c:3552
 msgid "Starting Banner"
 msgstr ""
 
@@ -4776,11 +4638,11 @@ msgstr ""
 msgid "Statement"
 msgstr ""
 
-#: ppdc/sample.c:260
+#: ppdc/sample.c:251
 msgid "Stylus Color Series"
 msgstr ""
 
-#: ppdc/sample.c:266
+#: ppdc/sample.c:257
 msgid "Stylus Photo Series"
 msgstr ""
 
@@ -4802,7 +4664,7 @@ msgstr ""
 msgid "Super B/A3"
 msgstr ""
 
-#: cups/http-support.c:1248
+#: cups/http-support.c:1275
 msgid "Switching Protocols"
 msgstr ""
 
@@ -4818,15 +4680,15 @@ msgstr ""
 msgid "Tabloid Oversize Long Edge"
 msgstr ""
 
-#: ppdc/sample.c:351
+#: ppdc/sample.c:342
 msgid "Tear"
 msgstr ""
 
-#: ppdc/sample.c:456
+#: ppdc/sample.c:447
 msgid "Tear-Off"
 msgstr ""
 
-#: ppdc/sample.c:397
+#: ppdc/sample.c:388
 msgid "Tear-Off Adjust Position"
 msgstr ""
 
@@ -4916,24 +4778,46 @@ msgstr ""
 msgid "The paper tray needs to be filled."
 msgstr ""
 
-#: backend/ipp.c:902
+#: backend/ipp.c:907
 msgid "The printer URI is incorrect or no longer exists."
 msgstr ""
 
-#: backend/ipp.c:752 backend/ipp.c:867 backend/ipp.c:973 backend/ipp.c:1302
-#: backend/ipp.c:1450 backend/lpd.c:828 backend/socket.c:374
-msgid "The printer is busy."
+#: backend/lpd.c:619 backend/lpd.c:1009 backend/lpd.c:1091 backend/lpd.c:1141
+msgid "The printer did not respond."
+msgstr ""
+
+#: backend/ipp.c:890 backend/ipp.c:897
+#, c-format
+msgid "The printer does not support IPP/%d.%d, trying IPP/%s."
 msgstr ""
 
-#: cups/localize.c:311
+#: backend/ipp.c:755 backend/ipp.c:872 backend/ipp.c:978 backend/ipp.c:1305
+#: backend/ipp.c:1453 backend/lpd.c:828 backend/socket.c:374
+#: backend/usb-unix.c:131 backend/usb-unix.c:424 backend/usb-unix.c:507
+msgid "The printer is in use."
+msgstr ""
+
+#: backend/runloop.c:254 backend/runloop.c:373 cups/localize.c:311
 msgid "The printer is not connected."
 msgstr ""
 
-#: backend/ipp.c:730 backend/ipp.c:763 backend/ipp.c:863 backend/lpd.c:807
+#: backend/ipp.c:733 backend/ipp.c:766 backend/ipp.c:868 backend/lpd.c:807
 #: backend/lpd.c:848 backend/socket.c:353 backend/socket.c:386
 msgid "The printer is not responding."
 msgstr ""
 
+#: backend/runloop.c:395
+msgid "The printer is now connected."
+msgstr ""
+
+#: backend/usb-darwin.c:1286
+msgid "The printer is now online."
+msgstr ""
+
+#: backend/usb-darwin.c:1307
+msgid "The printer is offline."
+msgstr ""
+
 #: cups/localize.c:335
 msgid "The printer is running low on ink."
 msgstr ""
@@ -4942,7 +4826,7 @@ msgstr ""
 msgid "The printer is running low on toner."
 msgstr ""
 
-#: backend/ipp.c:745 backend/lpd.c:821 backend/socket.c:367
+#: backend/ipp.c:748 backend/lpd.c:821 backend/socket.c:367
 msgid "The printer is unreachable at this time."
 msgstr ""
 
@@ -4954,7 +4838,7 @@ msgstr ""
 msgid "The printer may be out of toner."
 msgstr ""
 
-#: backend/ipp.c:739 backend/lpd.c:815 backend/socket.c:361
+#: backend/ipp.c:742 backend/lpd.c:815 backend/socket.c:361
 msgid "The printer may not exist or is unavailable at this time."
 msgstr ""
 
@@ -5018,7 +4902,7 @@ msgstr ""
 msgid "The subscription name may not contain spaces, slashes (/), question marks (?), or the pound sign (#)."
 msgstr ""
 
-#: scheduler/client.c:2521
+#: scheduler/client.c:2450
 msgid "The web interface is currently disabled. Run \"cupsctl WebInterface=yes\" to enable it."
 msgstr ""
 
@@ -5040,7 +4924,7 @@ msgstr ""
 msgid "There was an unrecoverable USB error."
 msgstr ""
 
-#: ppdc/sample.c:444
+#: ppdc/sample.c:435
 msgid "Thermal Transfer Media"
 msgstr ""
 
@@ -5058,31 +4942,31 @@ msgstr ""
 msgid "Too many printer-state-reasons values (%d > %d)."
 msgstr ""
 
-#: ppdc/sample.c:298
+#: ppdc/sample.c:289
 msgid "Transparency"
 msgstr ""
 
-#: ppdc/sample.c:293
+#: ppdc/sample.c:284
 msgid "Tray"
 msgstr ""
 
-#: ppdc/sample.c:273
+#: ppdc/sample.c:264
 msgid "Tray 1"
 msgstr ""
 
-#: ppdc/sample.c:274
+#: ppdc/sample.c:265
 msgid "Tray 2"
 msgstr ""
 
-#: ppdc/sample.c:275
+#: ppdc/sample.c:266
 msgid "Tray 3"
 msgstr ""
 
-#: ppdc/sample.c:276
+#: ppdc/sample.c:267
 msgid "Tray 4"
 msgstr ""
 
-#: cups/http-support.c:1288
+#: cups/http-support.c:1315
 msgid "URI Too Long"
 msgstr ""
 
@@ -5118,19 +5002,23 @@ msgstr ""
 msgid "US Letter Small"
 msgstr ""
 
-#: cgi-bin/admin.c:1940 cgi-bin/admin.c:1953 cgi-bin/admin.c:1977
-msgid "Unable to access cupsd.conf file:"
+#: cgi-bin/admin.c:1959 cgi-bin/admin.c:1972 cgi-bin/admin.c:1996
+msgid "Unable to access cupsd.conf file"
+msgstr ""
+
+#: cgi-bin/help.c:133
+msgid "Unable to access help file."
 msgstr ""
 
 #: cgi-bin/admin.c:526
-msgid "Unable to add RSS subscription:"
+msgid "Unable to add RSS subscription"
 msgstr ""
 
 #: cgi-bin/admin.c:814
-msgid "Unable to add class:"
+msgid "Unable to add class"
 msgstr ""
 
-#: backend/ipp.c:1620
+#: backend/ipp.c:1624
 msgid "Unable to add document to print job."
 msgstr ""
 
@@ -5140,7 +5028,7 @@ msgid "Unable to add job for destination \"%s\"."
 msgstr ""
 
 #: cgi-bin/admin.c:1059 cgi-bin/admin.c:1419
-msgid "Unable to add printer:"
+msgid "Unable to add printer"
 msgstr ""
 
 #: scheduler/ipp.c:1258
@@ -5156,34 +5044,34 @@ msgid "Unable to allocate memory for pages array"
 msgstr ""
 
 #: cgi-bin/admin.c:1525
-msgid "Unable to cancel RSS subscription:"
+msgid "Unable to cancel RSS subscription"
 msgstr ""
 
-#: backend/ipp.c:1924
+#: backend/ipp.c:1929
 msgid "Unable to cancel print job."
 msgstr ""
 
-#: cgi-bin/admin.c:3884
-msgid "Unable to change printer-is-shared attribute:"
+#: cgi-bin/admin.c:2990
+msgid "Unable to change printer"
 msgstr ""
 
-#: cgi-bin/admin.c:2968
-msgid "Unable to change printer:"
+#: cgi-bin/admin.c:3906
+msgid "Unable to change printer-is-shared attribute"
 msgstr ""
 
-#: cgi-bin/admin.c:1638 cgi-bin/admin.c:1780
-msgid "Unable to change server settings:"
+#: cgi-bin/admin.c:1657 cgi-bin/admin.c:1799
+msgid "Unable to change server settings"
 msgstr ""
 
-#: filter/commandtops.c:421
+#: filter/commandtops.c:420
 msgid "Unable to configure printer options."
 msgstr ""
 
-#: cups/adminutil.c:911 cups/request.c:1022
+#: cups/adminutil.c:911 cups/request.c:1021
 msgid "Unable to connect to host."
 msgstr ""
 
-#: backend/ipp.c:708 backend/ipp.c:1123 backend/lpd.c:787 backend/socket.c:333
+#: backend/ipp.c:711 backend/ipp.c:1131 backend/lpd.c:787 backend/socket.c:333
 #: backend/usb-unix.c:117
 msgid "Unable to contact printer, queuing on next printer in class."
 msgstr ""
@@ -5227,7 +5115,7 @@ msgstr ""
 msgid "Unable to copy interface script - %s"
 msgstr ""
 
-#: backend/ipp.c:2016
+#: backend/ipp.c:2021
 msgid "Unable to create compressed print file"
 msgstr ""
 
@@ -5235,59 +5123,55 @@ msgstr ""
 msgid "Unable to create printer-uri"
 msgstr ""
 
-#: scheduler/cupsfilter.c:1242
+#: cgi-bin/admin.c:1850 cgi-bin/admin.c:1862 scheduler/cupsfilter.c:1236
 msgid "Unable to create temporary file"
 msgstr ""
 
-#: cgi-bin/admin.c:1831 cgi-bin/admin.c:1843
-msgid "Unable to create temporary file:"
-msgstr ""
-
-#: cgi-bin/admin.c:2134
-msgid "Unable to delete class:"
+#: cgi-bin/admin.c:2153
+msgid "Unable to delete class"
 msgstr ""
 
-#: cgi-bin/admin.c:2219
-msgid "Unable to delete printer:"
+#: cgi-bin/admin.c:2238
+msgid "Unable to delete printer"
 msgstr ""
 
 #: cgi-bin/classes.c:260 cgi-bin/printers.c:269
-msgid "Unable to do maintenance command:"
+msgid "Unable to do maintenance command"
 msgstr ""
 
-#: cgi-bin/admin.c:1955
+#: cgi-bin/admin.c:1974
 msgid "Unable to edit cupsd.conf files larger than 1MB"
 msgstr ""
 
-#: cups/http.c:4258
+#: cups/http.c:4259
 msgid "Unable to establish a secure connection to host (certificate chain invalid)."
 msgstr ""
 
-#: cups/http.c:4248
+#: cups/http.c:4249
 msgid "Unable to establish a secure connection to host (certificate not yet valid)."
 msgstr ""
 
-#: cups/http.c:4243
+#: cups/http.c:4244
 msgid "Unable to establish a secure connection to host (expired certificate)."
 msgstr ""
 
-#: cups/http.c:4253
+#: cups/http.c:4254
 msgid "Unable to establish a secure connection to host (host name mismatch)."
 msgstr ""
 
-#: cups/http.c:4263
+#: cups/http.c:4264
 msgid "Unable to establish a secure connection to host (peer dropped connection before responding)."
 msgstr ""
 
-#: cups/http.c:4238
+#: cups/http.c:4239
 msgid "Unable to establish a secure connection to host (self-signed certificate)."
 msgstr ""
 
-#: cups/http.c:4233
+#: cups/http.c:4234
 msgid "Unable to establish a secure connection to host (untrusted certificate)."
 msgstr ""
 
-#: cups/http.c:3995 cups/http.c:4290 cups/http.c:4323 cups/http.c:4340
+#: cups/http.c:3995 cups/http.c:4291 cups/http.c:4324 cups/http.c:4341
 msgid "Unable to establish a secure connection to host."
 msgstr ""
 
@@ -5295,44 +5179,44 @@ msgstr ""
 msgid "Unable to find destination for job"
 msgstr ""
 
-#: cups/http-support.c:1644
+#: cups/http-support.c:1748
 msgid "Unable to find printer."
 msgstr ""
 
-#: backend/ipp.c:2038
+#: backend/ipp.c:2043
 msgid "Unable to generate compressed print file"
 msgstr ""
 
-#: backend/ipp.c:2945
+#: backend/ipp.c:2995
 msgid "Unable to get backend exit status."
 msgstr ""
 
 #: cgi-bin/classes.c:450
-msgid "Unable to get class list:"
+msgid "Unable to get class list"
 msgstr ""
 
 #: cgi-bin/classes.c:549
-msgid "Unable to get class status:"
+msgid "Unable to get class status"
 msgstr ""
 
 #: cgi-bin/admin.c:1320
-msgid "Unable to get list of printer drivers:"
+msgid "Unable to get list of printer drivers"
 msgstr ""
 
-#: cgi-bin/admin.c:2818
-msgid "Unable to get printer attributes:"
+#: cgi-bin/admin.c:2840
+msgid "Unable to get printer attributes"
 msgstr ""
 
 #: cgi-bin/printers.c:467
-msgid "Unable to get printer list:"
+msgid "Unable to get printer list"
 msgstr ""
 
-#: backend/ipp.c:926
-msgid "Unable to get printer status."
+#: cgi-bin/printers.c:569
+msgid "Unable to get printer status"
 msgstr ""
 
-#: cgi-bin/printers.c:569
-msgid "Unable to get printer status:"
+#: backend/ipp.c:931
+msgid "Unable to get printer status."
 msgstr ""
 
 #: cups/adminutil.c:565 cups/adminutil.c:769
@@ -5345,22 +5229,26 @@ msgstr ""
 msgid "Unable to install Windows 9x printer driver files (%d)."
 msgstr ""
 
+#: cgi-bin/help.c:92
+msgid "Unable to load help index."
+msgstr ""
+
 #: backend/ipp.c:640 backend/lpd.c:421 backend/socket.c:275
 #, c-format
 msgid "Unable to locate printer \"%s\"."
 msgstr ""
 
-#: backend/dnssd.c:529 backend/ipp.c:322 backend/lpd.c:204
+#: backend/dnssd.c:787 backend/ipp.c:322 backend/lpd.c:204
 #: backend/socket.c:171
 msgid "Unable to locate printer."
 msgstr ""
 
 #: cgi-bin/admin.c:813
-msgid "Unable to modify class:"
+msgid "Unable to modify class"
 msgstr ""
 
 #: cgi-bin/admin.c:1058 cgi-bin/admin.c:1418
-msgid "Unable to modify printer:"
+msgid "Unable to modify printer"
 msgstr ""
 
 #: cgi-bin/ipp-var.c:432 cgi-bin/ipp-var.c:521
@@ -5371,23 +5259,19 @@ msgstr ""
 msgid "Unable to move jobs"
 msgstr ""
 
-#: cups/ppd.c:339
+#: cgi-bin/admin.c:3186 cups/ppd.c:339
 msgid "Unable to open PPD file"
 msgstr ""
 
-#: cgi-bin/admin.c:3164
-msgid "Unable to open PPD file:"
-msgstr ""
-
-#: backend/ipp.c:2022
+#: backend/ipp.c:2027
 msgid "Unable to open compressed print file"
 msgstr ""
 
-#: cgi-bin/admin.c:2589
+#: cgi-bin/admin.c:2608
 msgid "Unable to open cupsd.conf file:"
 msgstr ""
 
-#: backend/usb-unix.c:145
+#: backend/usb-unix.c:141
 msgid "Unable to open device file"
 msgstr ""
 
@@ -5396,7 +5280,11 @@ msgstr ""
 msgid "Unable to open document #%d in job #%d."
 msgstr ""
 
-#: backend/ipp.c:363 backend/ipp.c:1384 backend/ipp.c:1580 backend/ipp.c:2028
+#: cgi-bin/help.c:364
+msgid "Unable to open help file."
+msgstr ""
+
+#: backend/ipp.c:363 backend/ipp.c:1387 backend/ipp.c:1583 backend/ipp.c:2033
 #: backend/lpd.c:488 backend/socket.c:158 backend/usb.c:237
 #: filter/gziptoany.c:71 filter/pstops.c:300
 msgid "Unable to open print file"
@@ -5408,19 +5296,15 @@ msgid "Unable to open raster file"
 msgstr ""
 
 #: cgi-bin/ipp-var.c:795
-msgid "Unable to print test page:"
-msgstr ""
-
-#: backend/runloop.c:95 backend/runloop.c:322
-msgid "Unable to read print data"
+msgid "Unable to print test page"
 msgstr ""
 
-#: backend/usb-darwin.c:613 backend/usb-darwin.c:657 backend/usb-libusb.c:343
-#: backend/usb-libusb.c:378
+#: backend/runloop.c:96 backend/runloop.c:324 backend/usb-darwin.c:613
+#: backend/usb-darwin.c:657 backend/usb-libusb.c:343 backend/usb-libusb.c:378
 msgid "Unable to read print data."
 msgstr ""
 
-#: cups/dest.c:2974
+#: cups/dest.c:2968
 msgid "Unable to resolve printer URI."
 msgstr ""
 
@@ -5446,27 +5330,27 @@ msgstr ""
 msgid "Unable to set Windows printer driver (%d)."
 msgstr ""
 
-#: cgi-bin/admin.c:3785
-msgid "Unable to set options:"
+#: cgi-bin/admin.c:3807
+msgid "Unable to set options"
 msgstr ""
 
-#: cgi-bin/admin.c:3055
-msgid "Unable to set server default:"
+#: cgi-bin/admin.c:3077
+msgid "Unable to set server default"
 msgstr ""
 
-#: backend/ipp.c:2804 backend/ipp.c:2881 backend/ipp.c:2889
+#: backend/ipp.c:2854 backend/ipp.c:2931 backend/ipp.c:2939
 msgid "Unable to start backend process."
 msgstr ""
 
-#: cgi-bin/admin.c:1893
-msgid "Unable to upload cupsd.conf file:"
+#: cgi-bin/admin.c:1912
+msgid "Unable to upload cupsd.conf file"
 msgstr ""
 
 #: backend/usb-darwin.c:1985 backend/usb-darwin.c:2009
 msgid "Unable to use legacy USB class driver."
 msgstr ""
 
-#: backend/runloop.c:124 backend/runloop.c:377
+#: backend/runloop.c:125 backend/runloop.c:379
 msgid "Unable to write print data"
 msgstr ""
 
@@ -5475,15 +5359,15 @@ msgstr ""
 msgid "Unable to write uncompressed print data: %s"
 msgstr ""
 
-#: cups/http-support.c:1276
+#: cups/http-support.c:1303
 msgid "Unauthorized"
 msgstr ""
 
-#: cgi-bin/admin.c:3481
+#: cgi-bin/admin.c:3503
 msgid "Units"
 msgstr ""
 
-#: cups/http-support.c:1316 cups/ppd.c:366
+#: cups/http-support.c:1343 cups/ppd.c:366
 msgid "Unknown"
 msgstr ""
 
@@ -5536,7 +5420,7 @@ msgstr ""
 msgid "Unknown printer-op-policy \"%s\"."
 msgstr ""
 
-#: cups/http-addrlist.c:708
+#: cups/http-addrlist.c:710
 msgid "Unknown service name."
 msgstr ""
 
@@ -5574,7 +5458,7 @@ msgstr ""
 msgid "Unsupported margins."
 msgstr ""
 
-#: cups/pwg-media.c:467
+#: cups/pwg-media.c:468
 msgid "Unsupported media value."
 msgstr ""
 
@@ -5601,7 +5485,7 @@ msgstr ""
 msgid "Unsupported value type"
 msgstr ""
 
-#: cups/http-support.c:1291
+#: cups/http-support.c:1318
 msgid "Upgrade Required"
 msgstr ""
 
@@ -5617,21 +5501,14 @@ msgid ""
 "                       [-u allow:user,user] [-u deny:user,user]"
 msgstr ""
 
-#: backend/dnssd.c:174 backend/ipp.c:311 backend/lpd.c:191
-#: backend/socket.c:135 backend/usb.c:183 monitor/bcp.c:62 monitor/tbcp.c:61
+#: backend/dnssd.c:241 backend/ipp.c:311 backend/lpd.c:191
+#: backend/socket.c:135 backend/usb.c:183 filter/commandtops.c:74
+#: filter/gziptoany.c:50 filter/pstops.c:264 monitor/bcp.c:62
+#: monitor/tbcp.c:61
 #, c-format
 msgid "Usage: %s job-id user title copies options [file]"
 msgstr ""
 
-#: filter/commandtops.c:74 filter/gziptoany.c:50 filter/pstops.c:264
-#, c-format
-msgid "Usage: %s job-id user title copies options file"
-msgstr ""
-
-#: scheduler/cupsfilter.c:1464
-msgid "Usage: convert [ options ]"
-msgstr ""
-
 #: systemv/cupsaddsmb.c:281
 msgid "Usage: cupsaddsmb [options] printer1 ... printerN"
 msgstr ""
@@ -5640,11 +5517,11 @@ msgstr ""
 msgid "Usage: cupsctl [options] [param=value ... paramN=valueN]"
 msgstr ""
 
-#: scheduler/main.c:2018
+#: scheduler/main.c:2017
 msgid "Usage: cupsd [options]"
 msgstr ""
 
-#: scheduler/cupsfilter.c:1437
+#: scheduler/cupsfilter.c:1429
 msgid "Usage: cupsfilter [ options ] filename"
 msgstr ""
 
@@ -5652,7 +5529,7 @@ msgstr ""
 msgid "Usage: cupstestdsc [options] filename.ps [... filename.ps]"
 msgstr ""
 
-#: systemv/cupstestppd.c:3792
+#: systemv/cupstestppd.c:3793
 msgid "Usage: cupstestppd [options] filename1.ppd[.gz] [... filenameN.ppd[.gz]]"
 msgstr ""
 
@@ -5723,7 +5600,7 @@ msgstr ""
 msgid "Version uses indefinite length"
 msgstr ""
 
-#: backend/ipp.c:1660
+#: backend/ipp.c:1664
 msgid "Waiting for job to complete."
 msgstr ""
 
@@ -5739,7 +5616,7 @@ msgstr ""
 msgid "Warning, no Windows 2000 printer drivers are installed."
 msgstr ""
 
-#: cups/http-support.c:1312
+#: cups/http-support.c:1339
 msgid "Web Interface is Disabled"
 msgstr ""
 
@@ -5747,7 +5624,7 @@ msgstr ""
 msgid "Yes"
 msgstr ""
 
-#: scheduler/client.c:2508
+#: scheduler/client.c:2437
 #, c-format
 msgid "You must access this page using the URL <A HREF=\"https://%s:%d%s\">https://%s:%d%s</A>."
 msgstr ""
@@ -5756,11 +5633,11 @@ msgstr ""
 msgid "Your password must be at least 6 characters long, cannot contain your username, and must contain at least one letter and number."
 msgstr ""
 
-#: ppdc/sample.c:448
+#: ppdc/sample.c:439
 msgid "ZPL Label Printer"
 msgstr ""
 
-#: ppdc/sample.c:371
+#: ppdc/sample.c:362
 msgid "Zebra"
 msgstr ""
 
@@ -5776,10 +5653,6 @@ msgstr ""
 msgid "completed"
 msgstr ""
 
-#: scheduler/cupsfilter.c:356
-msgid "convert: Use the -f option to specify a file to convert."
-msgstr ""
-
 #: scheduler/ipp.c:6706
 msgid "cups-deviced failed to execute."
 msgstr ""
@@ -5812,43 +5685,43 @@ msgstr ""
 msgid "cupsctl: Unknown option \"-%c\""
 msgstr ""
 
-#: scheduler/main.c:193
+#: scheduler/main.c:189
 msgid "cupsd: Expected config filename after \"-c\" option."
 msgstr ""
 
-#: scheduler/main.c:225 scheduler/main.c:232
+#: scheduler/main.c:221 scheduler/main.c:228
 msgid "cupsd: Unable to get current directory."
 msgstr ""
 
-#: scheduler/main.c:299
+#: scheduler/main.c:295
 #, c-format
 msgid "cupsd: Unknown argument \"%s\" - aborting."
 msgstr ""
 
-#: scheduler/main.c:292
+#: scheduler/main.c:288
 #, c-format
 msgid "cupsd: Unknown option \"%c\" - aborting."
 msgstr ""
 
-#: scheduler/main.c:259
+#: scheduler/main.c:255
 msgid "cupsd: launchd(8) support not compiled in, running in normal mode."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1215
+#: scheduler/cupsfilter.c:1209
 #, c-format
 msgid "cupsfilter: Invalid document number %d."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1209
+#: scheduler/cupsfilter.c:1203
 #, c-format
 msgid "cupsfilter: Invalid job ID %d."
 msgstr ""
 
-#: scheduler/cupsfilter.c:364
+#: scheduler/cupsfilter.c:358
 msgid "cupsfilter: Only one filename can be specified."
 msgstr ""
 
-#: scheduler/cupsfilter.c:1257
+#: scheduler/cupsfilter.c:1251
 #, c-format
 msgid "cupsfilter: Unable to get job file - %s"
 msgstr ""
@@ -5891,18 +5764,10 @@ msgstr ""
 msgid "idle"
 msgstr ""
 
-#: test/ipptool.c:371
+#: test/ipptool.c:371 test/ipptool.c:510 test/ipptool.c:534
 msgid "ipptool: \"-i\" and \"-n\" are incompatible with -X\"."
 msgstr ""
 
-#: test/ipptool.c:510
-msgid "ipptool: \"-i\" is incompatible with \"-X\"."
-msgstr ""
-
-#: test/ipptool.c:534
-msgid "ipptool: \"-n\" is incompatible with \"-X\"."
-msgstr ""
-
 #: test/ipptool.c:592
 #, c-format
 msgid "ipptool: Bad URI - %s."
@@ -6298,7 +6163,7 @@ msgstr ""
 msgid "ppdc: Bad font attribute: %s"
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1795
+#: ppdc/ppdc-source.cxx:1796
 #, c-format
 msgid "ppdc: Bad resolution name \"%s\" on line %d of %s."
 msgstr ""
@@ -6308,17 +6173,17 @@ msgstr ""
 msgid "ppdc: Bad status keyword %s on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2032
+#: ppdc/ppdc-source.cxx:2033
 #, c-format
 msgid "ppdc: Bad variable substitution ($%c) on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2718
+#: ppdc/ppdc-source.cxx:2719
 #, c-format
 msgid "ppdc: Choice found on line %d of %s with no Option."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1697
+#: ppdc/ppdc-source.cxx:1698
 #, c-format
 msgid "ppdc: Duplicate #po for locale %s on line %d of %s."
 msgstr ""
@@ -6373,7 +6238,7 @@ msgstr ""
 msgid "ppdc: Expected constraints string for UIConstraints on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2904
+#: ppdc/ppdc-source.cxx:2905
 #, c-format
 msgid "ppdc: Expected driver type keyword following DriverType on line %d of %s."
 msgstr ""
@@ -6388,7 +6253,7 @@ msgstr ""
 msgid "ppdc: Expected encoding after Font on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1688
+#: ppdc/ppdc-source.cxx:1689
 #, c-format
 msgid "ppdc: Expected filename after #po %s on line %d of %s."
 msgstr ""
@@ -6398,17 +6263,17 @@ msgstr ""
 msgid "ppdc: Expected group name/text on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2618
+#: ppdc/ppdc-source.cxx:2619
 #, c-format
 msgid "ppdc: Expected include filename on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1501
+#: ppdc/ppdc-source.cxx:1502
 #, c-format
 msgid "ppdc: Expected integer on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1680
+#: ppdc/ppdc-source.cxx:1681
 #, c-format
 msgid "ppdc: Expected locale after #po on line %d of %s."
 msgstr ""
@@ -6418,7 +6283,7 @@ msgstr ""
 msgid "ppdc: Expected name after %s on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:3276
+#: ppdc/ppdc-source.cxx:3277
 #, c-format
 msgid "ppdc: Expected name after FileName on line %d of %s."
 msgstr ""
@@ -6428,22 +6293,22 @@ msgstr ""
 msgid "ppdc: Expected name after Font on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:3107
+#: ppdc/ppdc-source.cxx:3108
 #, c-format
 msgid "ppdc: Expected name after Manufacturer on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:3140
+#: ppdc/ppdc-source.cxx:3141
 #, c-format
 msgid "ppdc: Expected name after MediaSize on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:3230
+#: ppdc/ppdc-source.cxx:3231
 #, c-format
 msgid "ppdc: Expected name after ModelName on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:3293
+#: ppdc/ppdc-source.cxx:3294
 #, c-format
 msgid "ppdc: Expected name after PCFileName on line %d of %s."
 msgstr ""
@@ -6458,7 +6323,7 @@ msgstr ""
 msgid "ppdc: Expected name/text after Installable on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1781
+#: ppdc/ppdc-source.cxx:1782
 #, c-format
 msgid "ppdc: Expected name/text after Resolution on line %d of %s."
 msgstr ""
@@ -6468,22 +6333,22 @@ msgstr ""
 msgid "ppdc: Expected name/text combination for ColorModel on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1573
+#: ppdc/ppdc-source.cxx:1574
 #, c-format
 msgid "ppdc: Expected option name/text on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1607
+#: ppdc/ppdc-source.cxx:1608
 #, c-format
 msgid "ppdc: Expected option section on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1585
+#: ppdc/ppdc-source.cxx:1586
 #, c-format
 msgid "ppdc: Expected option type on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1764
+#: ppdc/ppdc-source.cxx:1765
 #, c-format
 msgid "ppdc: Expected override field after Resolution on line %d of %s."
 msgstr ""
@@ -6503,7 +6368,7 @@ msgstr ""
 msgid "ppdc: Expected resolution/mediatype following ColorProfile on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1862
+#: ppdc/ppdc-source.cxx:1863
 #, c-format
 msgid "ppdc: Expected resolution/mediatype following SimpleColorProfile on line %d of %s."
 msgstr ""
@@ -6518,12 +6383,12 @@ msgstr ""
 msgid "ppdc: Expected status after Font on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2793
+#: ppdc/ppdc-source.cxx:2794
 #, c-format
 msgid "ppdc: Expected string after Copyright on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:3396
+#: ppdc/ppdc-source.cxx:3397
 #, c-format
 msgid "ppdc: Expected string after Version on line %d of %s."
 msgstr ""
@@ -6563,12 +6428,12 @@ msgstr ""
 msgid "ppdc: Invalid empty program name for filter on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1627
+#: ppdc/ppdc-source.cxx:1628
 #, c-format
 msgid "ppdc: Invalid option section \"%s\" on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1599
+#: ppdc/ppdc-source.cxx:1600
 #, c-format
 msgid "ppdc: Invalid option type \"%s\" on line %d of %s."
 msgstr ""
@@ -6588,13 +6453,13 @@ msgstr ""
 msgid "ppdc: Loading messages from \"%s\"."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2411 ppdc/ppdc-source.cxx:2643
+#: ppdc/ppdc-source.cxx:2412 ppdc/ppdc-source.cxx:2644
 #, c-format
 msgid "ppdc: Missing #endif at end of \"%s\"."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2512 ppdc/ppdc-source.cxx:2547
-#: ppdc/ppdc-source.cxx:2577
+#: ppdc/ppdc-source.cxx:2513 ppdc/ppdc-source.cxx:2548
+#: ppdc/ppdc-source.cxx:2578
 #, c-format
 msgid "ppdc: Missing #if on line %d of %s."
 msgstr ""
@@ -6609,14 +6474,14 @@ msgstr ""
 msgid "ppdc: No message catalog provided for locale %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1650 ppdc/ppdc-source.cxx:2881
-#: ppdc/ppdc-source.cxx:2967 ppdc/ppdc-source.cxx:3060
-#: ppdc/ppdc-source.cxx:3193 ppdc/ppdc-source.cxx:3326
+#: ppdc/ppdc-source.cxx:1651 ppdc/ppdc-source.cxx:2882
+#: ppdc/ppdc-source.cxx:2968 ppdc/ppdc-source.cxx:3061
+#: ppdc/ppdc-source.cxx:3194 ppdc/ppdc-source.cxx:3327
 #, c-format
 msgid "ppdc: Option %s defined in two different groups on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1643
+#: ppdc/ppdc-source.cxx:1644
 #, c-format
 msgid "ppdc: Option %s redefined with a different type on line %d of %s."
 msgstr ""
@@ -6626,7 +6491,7 @@ msgstr ""
 msgid "ppdc: Option constraint must *name on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2494
+#: ppdc/ppdc-source.cxx:2495
 #, c-format
 msgid "ppdc: Too many nested #if's on line %d of %s."
 msgstr ""
@@ -6651,12 +6516,12 @@ msgstr ""
 msgid "ppdc: Unable to execute cupstestppd: %s"
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:1729
+#: ppdc/ppdc-source.cxx:1730
 #, c-format
 msgid "ppdc: Unable to find #po file %s on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2650
+#: ppdc/ppdc-source.cxx:2651
 #, c-format
 msgid "ppdc: Unable to find include file \"%s\" on line %d of %s."
 msgstr ""
@@ -6676,7 +6541,7 @@ msgstr ""
 msgid "ppdc: Unable to open %s: %s"
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2053
+#: ppdc/ppdc-source.cxx:2054
 #, c-format
 msgid "ppdc: Undefined variable (%s) on line %d of %s."
 msgstr ""
@@ -6686,7 +6551,7 @@ msgstr ""
 msgid "ppdc: Unexpected text on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2923
+#: ppdc/ppdc-source.cxx:2924
 #, c-format
 msgid "ppdc: Unknown driver type %s on line %d of %s."
 msgstr ""
@@ -6696,7 +6561,7 @@ msgstr ""
 msgid "ppdc: Unknown duplex type \"%s\" on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:3153
+#: ppdc/ppdc-source.cxx:3154
 #, c-format
 msgid "ppdc: Unknown media size \"%s\" on line %d of %s."
 msgstr ""
@@ -6706,7 +6571,7 @@ msgstr ""
 msgid "ppdc: Unknown message catalog format for \"%s\"."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:3407
+#: ppdc/ppdc-source.cxx:3408
 #, c-format
 msgid "ppdc: Unknown token \"%s\" seen on line %d of %s."
 msgstr ""
@@ -6716,7 +6581,7 @@ msgstr ""
 msgid "ppdc: Unknown trailing characters in real number \"%s\" on line %d of %s."
 msgstr ""
 
-#: ppdc/ppdc-source.cxx:2163
+#: ppdc/ppdc-source.cxx:2164
 #, c-format
 msgid "ppdc: Unterminated string starting with %c on line %d of %s."
 msgstr ""
index f754f3e7dde075cbb48e65e948929bf39703df39..ddcf127f4d5c410cc960cd95de27d3c9f15ae31b 100644 (file)
 "      %s  cupsICCProfile %s hash value collides with %s." = "      %s  cupsICCProfile %s hash value collides with %s.";
 "      %s  cupsUIResolver %s causes a loop." = "      %s  cupsUIResolver %s causes a loop.";
 "      %s  cupsUIResolver %s does not list at least two different options." = "      %s  cupsUIResolver %s does not list at least two different options.";
-"      **FAIL**  %s choice names %s and %s differ only by case." = "      **FAIL**  %s choice names %s and %s differ only by case.";
 "      **FAIL**  %s must be 1284DeviceID\n                REF: Page 72, section 5.5" = "      **FAIL**  %s must be 1284DeviceID\n                REF: Page 72, section 5.5";
-"      **FAIL**  BAD Default%s %s\n                REF: Page 40, section 4.5." = "      **FAIL**  BAD Default%s %s\n                REF: Page 40, section 4.5.";
-"      **FAIL**  BAD DefaultImageableArea %s\n                REF: Page 102, section 5.15." = "      **FAIL**  BAD DefaultImageableArea %s\n                REF: Page 102, section 5.15.";
-"      **FAIL**  BAD DefaultPaperDimension %s\n                REF: Page 103, section 5.15." = "      **FAIL**  BAD DefaultPaperDimension %s\n                REF: Page 103, section 5.15.";
-"      **FAIL**  BAD JobPatchFile attribute in file\n                REF: Page 24, section 3.4." = "      **FAIL**  BAD JobPatchFile attribute in file\n                REF: Page 24, section 3.4.";
-"      **FAIL**  BAD Manufacturer (should be \"HP\")\n                REF: Page 211, table D.1." = "      **FAIL**  BAD Manufacturer (should be \"HP\")\n                REF: Page 211, table D.1.";
-"      **FAIL**  BAD Manufacturer (should be \"Oki\")\n                REF: Page 211, table D.1." = "      **FAIL**  BAD Manufacturer (should be \"Oki\")\n                REF: Page 211, table D.1.";
-"      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n                REF: Pages 59-60, section 5.3." = "      **FAIL**  BAD ModelName - \"%c\" not allowed in string.\n                REF: Pages 59-60, section 5.3.";
-"      **FAIL**  BAD PSVersion - not \"(string) int\".\n                REF: Pages 62-64, section 5.3." = "      **FAIL**  BAD PSVersion - not \"(string) int\".\n                REF: Pages 62-64, section 5.3.";
-"      **FAIL**  BAD Product - not \"(string)\".\n                REF: Page 62, section 5.3." = "      **FAIL**  BAD Product - not \"(string)\".\n                REF: Page 62, section 5.3.";
-"      **FAIL**  BAD ShortNickName - longer than 31 chars.\n                REF: Pages 64-65, section 5.3." = "      **FAIL**  BAD ShortNickName - longer than 31 chars.\n                REF: Pages 64-65, section 5.3.";
-"      **FAIL**  Bad %s choice %s\n                REF: Page 84, section 5.9" = "      **FAIL**  Bad %s choice %s\n                REF: Page 84, section 5.9";
+"      **FAIL**  Bad Default%s %s\n                REF: Page 40, section 4.5." = "      **FAIL**  Bad Default%s %s\n                REF: Page 40, section 4.5.";
+"      **FAIL**  Bad DefaultImageableArea %s\n                REF: Page 102, section 5.15." = "      **FAIL**  Bad DefaultImageableArea %s\n                REF: Page 102, section 5.15.";
+"      **FAIL**  Bad DefaultPaperDimension %s\n                REF: Page 103, section 5.15." = "      **FAIL**  Bad DefaultPaperDimension %s\n                REF: Page 103, section 5.15.";
 "      **FAIL**  Bad FileVersion \"%s\"\n                REF: Page 56, section 5.3." = "      **FAIL**  Bad FileVersion \"%s\"\n                REF: Page 56, section 5.3.";
 "      **FAIL**  Bad FormatVersion \"%s\"\n                REF: Page 56, section 5.3." = "      **FAIL**  Bad FormatVersion \"%s\"\n                REF: Page 56, section 5.3.";
+"      **FAIL**  Bad JobPatchFile attribute in file\n                REF: Page 24, section 3.4." = "      **FAIL**  Bad JobPatchFile attribute in file\n                REF: Page 24, section 3.4.";
 "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1." = "      **FAIL**  Bad LanguageEncoding %s - must be ISOLatin1.";
 "      **FAIL**  Bad LanguageVersion %s - must be English." = "      **FAIL**  Bad LanguageVersion %s - must be English.";
+"      **FAIL**  Bad Manufacturer (should be \"%s\")\n                REF: Page 211, table D.1." = "      **FAIL**  Bad Manufacturer (should be \"%s\")\n                REF: Page 211, table D.1.";
+"      **FAIL**  Bad ModelName - \"%c\" not allowed in string.\n                REF: Pages 59-60, section 5.3." = "      **FAIL**  Bad ModelName - \"%c\" not allowed in string.\n                REF: Pages 59-60, section 5.3.";
+"      **FAIL**  Bad PSVersion - not \"(string) int\".\n                REF: Pages 62-64, section 5.3." = "      **FAIL**  Bad PSVersion - not \"(string) int\".\n                REF: Pages 62-64, section 5.3.";
+"      **FAIL**  Bad Product - not \"(string)\".\n                REF: Page 62, section 5.3." = "      **FAIL**  Bad Product - not \"(string)\".\n                REF: Page 62, section 5.3.";
+"      **FAIL**  Bad ShortNickName - longer than 31 chars.\n                REF: Pages 64-65, section 5.3." = "      **FAIL**  Bad ShortNickName - longer than 31 chars.\n                REF: Pages 64-65, section 5.3.";
+"      **FAIL**  Bad option %s choice %s\n                REF: Page 84, section 5.9" = "      **FAIL**  Bad option %s choice %s\n                REF: Page 84, section 5.9";
 "      **FAIL**  Default option code cannot be interpreted: %s" = "      **FAIL**  Default option code cannot be interpreted: %s";
 "      **FAIL**  Default translation string for option %s choice %s contains 8-bit characters." = "      **FAIL**  Default translation string for option %s choice %s contains 8-bit characters.";
 "      **FAIL**  Default translation string for option %s contains 8-bit characters." = "      **FAIL**  Default translation string for option %s contains 8-bit characters.";
 "      **FAIL**  Group names %s and %s differ only by case." = "      **FAIL**  Group names %s and %s differ only by case.";
-"      **FAIL**  Multiple occurrences of %s choice name %s." = "      **FAIL**  Multiple occurrences of %s choice name %s.";
+"      **FAIL**  Multiple occurrences of option %s choice name %s." = "      **FAIL**  Multiple occurrences of option %s choice name %s.";
+"      **FAIL**  Option %s choice names %s and %s differ only by case." = "      **FAIL**  Option %s choice names %s and %s differ only by case.";
 "      **FAIL**  Option names %s and %s differ only by case." = "      **FAIL**  Option names %s and %s differ only by case.";
 "      **FAIL**  REQUIRED Default%s\n                REF: Page 40, section 4.5." = "      **FAIL**  REQUIRED Default%s\n                REF: Page 40, section 4.5.";
 "      **FAIL**  REQUIRED DefaultImageableArea\n                REF: Page 102, section 5.15." = "      **FAIL**  REQUIRED DefaultImageableArea\n                REF: Page 102, section 5.15.";
 "      **FAIL**  REQUIRED PaperDimension for PageSize %s\n                REF: Page 41, section 5.\n                REF: Page 103, section 5.15." = "      **FAIL**  REQUIRED PaperDimension for PageSize %s\n                REF: Page 41, section 5.\n                REF: Page 103, section 5.15.";
 "      **FAIL**  REQUIRED Product\n                REF: Page 62, section 5.3." = "      **FAIL**  REQUIRED Product\n                REF: Page 62, section 5.3.";
 "      **FAIL**  REQUIRED ShortNickName\n                REF: Page 64-65, section 5.3." = "      **FAIL**  REQUIRED ShortNickName\n                REF: Page 64-65, section 5.3.";
-"      **FAIL**  Unable to open PPD file - %s" = "      **FAIL**  Unable to open PPD file - %s";
 "      **FAIL**  Unable to open PPD file - %s on line %d." = "      **FAIL**  Unable to open PPD file - %s on line %d.";
 "    %d ERRORS FOUND" = "    %d ERRORS FOUND";
 "    -h       Show program usage" = "    -h       Show program usage";
 "  --[no-]user-cancel-any  Allow/prevent users to cancel any job." = "  --[no-]user-cancel-any  Allow/prevent users to cancel any job.";
 "  --cr                    End lines with CR (Mac OS 9)." = "  --cr                    End lines with CR (Mac OS 9).";
 "  --crlf                  End lines with CR + LF (Windows)." = "  --crlf                  End lines with CR + LF (Windows).";
-"  --lf                    End lines with LF (UNIX/Linux/Mac OS X)." = "  --lf                    End lines with LF (UNIX/Linux/Mac OS X).";
+"  --lf                    End lines with LF (UNIX/Linux/OS X)." = "  --lf                    End lines with LF (UNIX/Linux/OS X).";
 "  -4                      Connect using IPv4." = "  -4                      Connect using IPv4.";
 "  -6                      Connect using IPv6." = "  -6                      Connect using IPv6.";
 "  -C                      Send requests using chunking (default)." = "  -C                      Send requests using chunking (default).";
 "  -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                      Enable encryption." = "  -E                      Enable encryption.";
-"  -E                      Encrypt the connection to the server." = "  -E                      Encrypt the connection to the server.";
-"  -E                      Test with TLS encryption." = "  -E                      Test with TLS encryption.";
+"  -E                      Encrypt the connection." = "  -E                      Encrypt the connection.";
+"  -E                      Test with HTTP Upgrade to TLS." = "  -E                      Test with 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.";
 "  -I include-dir          Add include directory to search path." = "  -I include-dir          Add include directory to search path.";
 "  -I {filename,filters,none,profiles}" = "  -I {filename,filters,none,profiles}";
-"  -J title                Set title." = "  -J title                Set title.";
 "  -L                      Send requests using content-length." = "  -L                      Send requests using content-length.";
 "  -P filename.ppd         Set PPD file." = "  -P filename.ppd         Set PPD file.";
 "  -R root-directory       Set alternate root." = "  -R root-directory       Set alternate root.";
 "  -S                      Test with SSL encryption." = "  -S                      Test with SSL encryption.";
 "  -T seconds              Set the receive/send timeout in seconds." = "  -T seconds              Set the receive/send timeout in seconds.";
-"  -U samba-user           Authenticate using the named SAMBA user." = "  -U samba-user           Authenticate using the named SAMBA user.";
-"  -U username             Set username for job." = "  -U username             Set username for job.";
 "  -U username             Specify username." = "  -U username             Specify username.";
 "  -V version              Set default IPP version." = "  -V version              Set default IPP version.";
 "  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,translations}" = "  -W {all,none,constraints,defaults,duplex,filters,profiles,sizes,translations}";
 "  -X                      Produce XML plist instead of plain text." = "  -X                      Produce XML plist instead of plain text.";
 "  -a                      Export all printers." = "  -a                      Export all printers.";
-"  -a 'name=value ...'     Set option(s)." = "  -a 'name=value ...'     Set option(s).";
 "  -c catalog.po           Load the specified message catalog." = "  -c catalog.po           Load the specified message catalog.";
-"  -c config-file          Load alternate configuration file." = "  -c config-file          Load alternate configuration file.";
-"  -c copies               Set number of copies." = "  -c copies               Set number of copies.";
 "  -c cupsd.conf           Set cupsd.conf file to use." = "  -c cupsd.conf           Set cupsd.conf file to use.";
 "  -d name=value           Set named variable to value." = "  -d name=value           Set named variable to value.";
 "  -d output-dir           Specify the output directory." = "  -d output-dir           Specify the output directory.";
 "  -e                      Use every filter from the PPD file." = "  -e                      Use every filter from the PPD file.";
 "  -f                      Run in the foreground." = "  -f                      Run in the foreground.";
 "  -f filename             Set default request filename." = "  -f filename             Set default request filename.";
-"  -f filename             Set file to be converted (otherwise stdin)." = "  -f filename             Set file to be converted (otherwise stdin).";
 "  -h                      Show this usage message." = "  -h                      Show this usage message.";
-"  -h cups-server          Use the named CUPS server." = "  -h cups-server          Use the named CUPS server.";
 "  -h server[:port]        Specify server address." = "  -h server[:port]        Specify server address.";
 "  -i mime/type            Set input MIME type (otherwise auto-typed)." = "  -i mime/type            Set input MIME type (otherwise auto-typed).";
 "  -i seconds              Repeat the last file with the given time interval." = "  -i seconds              Repeat the last file with the given time interval.";
 "  -j job-id[,N]           Filter file N from the specified job (default is file 1)." = "  -j job-id[,N]           Filter file N from the specified job (default is file 1).";
-"  -j mime/type            Set output MIME type (otherwise application/pdf)." = "  -j mime/type            Set output MIME type (otherwise application/pdf).";
 "  -l                      Run cupsd from launchd(8)." = "  -l                      Run cupsd from launchd(8).";
 "  -l lang[,lang,...]      Specify the output language(s) (locale)." = "  -l lang[,lang,...]      Specify the output language(s) (locale).";
 "  -m                      Use the ModelName value as the filename." = "  -m                      Use the ModelName value as the filename.";
 "  -m mime/type            Set output MIME type (otherwise application/pdf)." = "  -m mime/type            Set output MIME type (otherwise application/pdf).";
 "  -n copies               Set number of copies." = "  -n copies               Set number of copies.";
 "  -n count                Repeat the last file the given number of times." = "  -n count                Repeat the last file the given number of times.";
-"  -o filename             Set file to be generated (otherwise stdout)." = "  -o filename             Set file to be generated (otherwise stdout).";
 "  -o filename.drv         Set driver information file (otherwise ppdi.drv)." = "  -o filename.drv         Set driver information file (otherwise ppdi.drv).";
 "  -o filename.ppd[.gz]    Set output file (otherwise stdout)." = "  -o filename.ppd[.gz]    Set output file (otherwise stdout).";
 "  -o name=value           Set option(s)." = "  -o name=value           Set option(s).";
 "  -p filename.ppd         Set PPD file." = "  -p filename.ppd         Set PPD file.";
-"  -q                      Be quiet - no output except errors." = "  -q                      Be quiet - no output except errors.";
 "  -q                      Run silently." = "  -q                      Run silently.";
 "  -r                      Use 'relaxed' open mode." = "  -r                      Use 'relaxed' open mode.";
 "  -t                      Produce a test report." = "  -t                      Produce a test report.";
 "  -t                      Test the configuration file." = "  -t                      Test the configuration file.";
 "  -t title                Set title." = "  -t title                Set title.";
 "  -u                      Remove the PPD file when finished." = "  -u                      Remove the PPD file when finished.";
-"  -v                      Be slightly verbose." = "  -v                      Be slightly verbose.";
-"  -v                      Be verbose (more v's for more verbosity)." = "  -v                      Be verbose (more v's for more verbosity).";
-"  -v                      Be verbose (show commands)." = "  -v                      Be verbose (show commands).";
-"  -v                      Show all attributes sent and received." = "  -v                      Show all attributes sent and received.";
+"  -v                      Be verbose." = "  -v                      Be verbose.";
 "  -vv                     Be very verbose." = "  -vv                     Be very verbose.";
 "  -z                      Compress PPD files using GNU zip." = "  -z                      Compress PPD files using GNU zip.";
 " FAIL" = " FAIL";
 "3.25x7.83\"" = "3.25x7.83\"";
 "3.5 x 5" = "3.5 x 5";
 "3.5\" Disk" = "3.5\" Disk";
-"3.5\" Disk - 2 1/8 x 2 3/4\"" = "3.5\" Disk - 2 1/8 x 2 3/4\"";
 "3.50x1.00\"" = "3.50x1.00\"";
 "30" = "30";
 "30 mm/sec." = "30 mm/sec.";
 "Add Printer" = "Add Printer";
 "Add RSS Subscription" = "Add RSS Subscription";
 "Address" = "Address";
-"Address - 1 1/8 x 3 1/2\"" = "Address - 1 1/8 x 3 1/2\"";
 "Administration" = "Administration";
 "Always" = "Always";
 "AppSocket/HP JetDirect" = "AppSocket/HP JetDirect";
 "File \"%s\" is a directory." = "File \"%s\" is a directory.";
 "File \"%s\" not available: %s" = "File \"%s\" not available: %s";
 "File \"%s\" permissions OK (0%o/uid=%d/gid=%d)." = "File \"%s\" permissions OK (0%o/uid=%d/gid=%d).";
-"File Folder" = "File Folder";
-"File Folder - 9/16 x 3 7/16\"" = "File Folder - 9/16 x 3 7/16\"";
+"File Folder " = "File Folder ";
 "File device URIs have been disabled. To enable, see the FileDevice directive in \"%s/cupsd.conf\"." = "File device URIs have been disabled. To enable, see the FileDevice directive in \"%s/cupsd.conf\".";
 "Finished page %d." = "Finished page %d.";
 "Folio" = "Folio";
 "Grayscale" = "Grayscale";
 "HP" = "HP";
 "Hanging Folder" = "Hanging Folder";
-"Hanging Folder - 9/16 x 2\"" = "Hanging Folder - 9/16 x 2\"";
+"Help file not in index." = "Help file not in index.";
 "IPP 1setOf attribute with incompatible value tags." = "IPP 1setOf attribute with incompatible value tags.";
 "IPP attribute has no name." = "IPP attribute has no name.";
 "IPP attribute is not a member of the message." = "IPP attribute is not a member of the message.";
 "Internal Server Error" = "Internal Server Error";
 "Internal error" = "Internal error";
 "Internet Postage 2-Part" = "Internet Postage 2-Part";
-"Internet Postage 2-Part - 2 1/4 x 7 1/2\"" = "Internet Postage 2-Part - 2 1/4 x 7 1/2\"";
 "Internet Postage 3-Part" = "Internet Postage 3-Part";
-"Internet Postage 3-Part - 2 1/4 x 7\"" = "Internet Postage 3-Part - 2 1/4 x 7\"";
 "Internet Printing Protocol" = "Internet Printing Protocol";
 "Invalid media size." = "Invalid media size.";
 "Invalid printer command \"%s\"." = "Invalid printer command \"%s\".";
 "Job Options Changed" = "Job Options Changed";
 "Job Stopped" = "Job Stopped";
 "Job is completed and cannot be changed." = "Job is completed and cannot be changed.";
-"Job operation failed:" = "Job operation failed:";
+"Job operation failed" = "Job operation failed";
 "Job state cannot be changed." = "Job state cannot be changed.";
 "Job subscriptions cannot be renewed." = "Job subscriptions cannot be renewed.";
 "Jobs" = "Jobs";
 "Label Top" = "Label Top";
 "Language \"%s\" not supported." = "Language \"%s\" not supported.";
 "Large Address" = "Large Address";
-"Large Address - 1 4/10 x 3 1/2\"" = "Large Address - 1 4/10 x 3 1/2\"";
 "LaserJet Series PCL 4/5" = "LaserJet Series PCL 4/5";
 "Letter Oversize" = "Letter Oversize";
 "Letter Oversize Long Edge" = "Letter Oversize Long Edge";
 "Print file accepted - job ID unknown." = "Print file accepted - job ID unknown.";
 "Print file sent." = "Print file sent.";
 "Print file was not accepted." = "Print file was not accepted.";
+"Print job canceled at printer." = "Print job canceled at printer.";
 "Print job too large." = "Print job too large.";
 "Printer Added" = "Printer Added";
 "Printer Default" = "Printer Default";
 "Printer Modified" = "Printer Modified";
 "Printer Paused" = "Printer Paused";
 "Printer Settings" = "Printer Settings";
-"Printer busy, will retry in 10 seconds." = "Printer busy, will retry in 10 seconds.";
-"Printer did not respond." = "Printer did not respond.";
-"Printer does not support IPP/%d.%d, trying IPP/%s." = "Printer does not support IPP/%d.%d, trying IPP/%s.";
-"Printer is busy, will retry in 5 seconds." = "Printer is busy, will retry in 5 seconds.";
-"Printer is not currently connected." = "Printer is not currently connected.";
-"Printer is now connected." = "Printer is now connected.";
-"Printer is now online." = "Printer is now online.";
-"Printer is offline." = "Printer is offline.";
-"Printer not connected, will retry in 30 seconds." = "Printer not connected, will retry in 30 seconds.";
 "Printer:" = "Printer:";
 "Printers" = "Printers";
 "Printing page %d, %d%% complete." = "Printing page %d, %d%% complete.";
 "Rank    Owner   Job     File(s)                         Total Size" = "Rank    Owner   Job     File(s)                         Total Size";
 // TRANSLATORS: Pri is job priority.
 "Rank   Owner      Pri  Job        Files                       Total Size" = "Rank   Owner      Pri  Job        Files                       Total Size";
-"Ready to print." = "Ready to print.";
 "Reject Jobs" = "Reject Jobs";
 "Remote host did not accept control file (%d)." = "Remote host did not accept control file (%d).";
 "Remote host did not accept data file (%d)." = "Remote host did not accept data file (%d).";
 "Resume Class" = "Resume Class";
 "Resume Printer" = "Resume Printer";
 "Return Address" = "Return Address";
-"Return Address - 3/4 x 2\"" = "Return Address - 3/4 x 2\"";
 "Rewind" = "Rewind";
 "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";
 "Set Printer Options" = "Set Printer Options";
 "Set Publishing" = "Set Publishing";
 "Shipping Address" = "Shipping Address";
-"Shipping Address - 2 5/16 x 4\"" = "Shipping Address - 2 5/16 x 4\"";
 "Short-Edge (Landscape)" = "Short-Edge (Landscape)";
 "Special Paper" = "Special Paper";
 "Spooling job, %.0f%% complete." = "Spooling job, %.0f%% complete.";
 "The paper tray is missing." = "The paper tray is missing.";
 "The paper tray needs to be filled." = "The paper tray needs to be filled.";
 "The printer URI is incorrect or no longer exists." = "The printer URI is incorrect or no longer exists.";
-"The printer is busy." = "The printer is busy.";
+"The printer did not respond." = "The printer did not respond.";
+"The printer does not support IPP/%d.%d, trying IPP/%s." = "The printer does not support IPP/%d.%d, trying IPP/%s.";
+"The printer is in use." = "The printer is in use.";
 "The printer is not connected." = "The printer is not connected.";
 "The printer is not responding." = "The printer is not responding.";
+"The printer is now connected." = "The printer is now connected.";
+"The printer is now online." = "The printer is now online.";
+"The printer is offline." = "The printer is offline.";
 "The printer is running low on ink." = "The printer is running low on ink.";
 "The printer is running low on toner." = "The printer is running low on toner.";
 "The printer is unreachable at this time." = "The printer is unreachable at this time.";
 "US Letter Oversize" = "US Letter Oversize";
 "US Letter Oversize Long Edge" = "US Letter Oversize Long Edge";
 "US Letter Small" = "US Letter Small";
-"Unable to access cupsd.conf file:" = "Unable to access cupsd.conf file:";
-"Unable to add RSS subscription:" = "Unable to add RSS subscription:";
-"Unable to add class:" = "Unable to add class:";
+"Unable to access cupsd.conf file" = "Unable to access cupsd.conf file";
+"Unable to access help file." = "Unable to access help file.";
+"Unable to add RSS subscription" = "Unable to add RSS subscription";
+"Unable to add class" = "Unable to add class";
 "Unable to add document to print job." = "Unable to add document to print job.";
 "Unable to add job for destination \"%s\"." = "Unable to add job for destination \"%s\".";
-"Unable to add printer:" = "Unable to add printer:";
+"Unable to add printer" = "Unable to add printer";
 "Unable to allocate memory for file types." = "Unable to allocate memory for file types.";
 "Unable to allocate memory for page info" = "Unable to allocate memory for page info";
 "Unable to allocate memory for pages array" = "Unable to allocate memory for pages array";
-"Unable to cancel RSS subscription:" = "Unable to cancel RSS subscription:";
+"Unable to cancel RSS subscription" = "Unable to cancel RSS subscription";
 "Unable to cancel print job." = "Unable to cancel print job.";
-"Unable to change printer-is-shared attribute:" = "Unable to change printer-is-shared attribute:";
-"Unable to change printer:" = "Unable to change printer:";
-"Unable to change server settings:" = "Unable to change server settings:";
+"Unable to change printer" = "Unable to change printer";
+"Unable to change printer-is-shared attribute" = "Unable to change printer-is-shared attribute";
+"Unable to change server settings" = "Unable to change server settings";
 "Unable to configure printer options." = "Unable to configure printer options.";
 "Unable to connect to host." = "Unable to connect to host.";
 "Unable to contact printer, queuing on next printer in class." = "Unable to contact printer, queuing on next printer in class.";
 "Unable to create compressed print file" = "Unable to create compressed print file";
 "Unable to create printer-uri" = "Unable to create printer-uri";
 "Unable to create temporary file" = "Unable to create temporary file";
-"Unable to create temporary file:" = "Unable to create temporary file:";
-"Unable to delete class:" = "Unable to delete class:";
-"Unable to delete printer:" = "Unable to delete printer:";
-"Unable to do maintenance command:" = "Unable to do maintenance command:";
+"Unable to delete class" = "Unable to delete class";
+"Unable to delete printer" = "Unable to delete printer";
+"Unable to do maintenance command" = "Unable to do maintenance command";
 "Unable to edit cupsd.conf files larger than 1MB" = "Unable to edit cupsd.conf files larger than 1MB";
 "Unable to establish a secure connection to host (certificate chain invalid)." = "Unable to establish a secure connection to host (certificate chain invalid).";
 "Unable to establish a secure connection to host (certificate not yet valid)." = "Unable to establish a secure connection to host (certificate not yet valid).";
 "Unable to find printer." = "Unable to find printer.";
 "Unable to generate compressed print file" = "Unable to generate compressed print file";
 "Unable to get backend exit status." = "Unable to get backend exit status.";
-"Unable to get class list:" = "Unable to get class list:";
-"Unable to get class status:" = "Unable to get class status:";
-"Unable to get list of printer drivers:" = "Unable to get list of printer drivers:";
-"Unable to get printer attributes:" = "Unable to get printer attributes:";
-"Unable to get printer list:" = "Unable to get printer list:";
+"Unable to get class list" = "Unable to get class list";
+"Unable to get class status" = "Unable to get class status";
+"Unable to get list of printer drivers" = "Unable to get list of printer drivers";
+"Unable to get printer attributes" = "Unable to get printer attributes";
+"Unable to get printer list" = "Unable to get printer list";
+"Unable to get printer status" = "Unable to get printer status";
 "Unable to get printer status." = "Unable to get printer status.";
-"Unable to get printer status:" = "Unable to get printer status:";
 "Unable to install Windows 2000 printer driver files (%d)." = "Unable to install Windows 2000 printer driver files (%d).";
 "Unable to install Windows 9x printer driver files (%d)." = "Unable to install Windows 9x printer driver files (%d).";
+"Unable to load help index." = "Unable to load help index.";
 "Unable to locate printer \"%s\"." = "Unable to locate printer \"%s\".";
 "Unable to locate printer." = "Unable to locate printer.";
-"Unable to modify class:" = "Unable to modify class:";
-"Unable to modify printer:" = "Unable to modify printer:";
+"Unable to modify class" = "Unable to modify class";
+"Unable to modify printer" = "Unable to modify printer";
 "Unable to move job" = "Unable to move job";
 "Unable to move jobs" = "Unable to move jobs";
 "Unable to open PPD file" = "Unable to open PPD file";
-"Unable to open PPD file:" = "Unable to open PPD file:";
 "Unable to open compressed print file" = "Unable to open compressed print file";
 "Unable to open cupsd.conf file:" = "Unable to open cupsd.conf file:";
 "Unable to open device file" = "Unable to open device file";
 "Unable to open document #%d in job #%d." = "Unable to open document #%d in job #%d.";
+"Unable to open help file." = "Unable to open help file.";
 "Unable to open print file" = "Unable to open print file";
 "Unable to open raster file" = "Unable to open raster file";
-"Unable to print test page:" = "Unable to print test page:";
-"Unable to read print data" = "Unable to read print data";
+"Unable to print test page" = "Unable to print test page";
 "Unable to read print data." = "Unable to read print data.";
 "Unable to resolve printer URI." = "Unable to resolve printer URI.";
 "Unable to run \"%s\": %s" = "Unable to run \"%s\": %s";
 "Unable to send command to printer driver" = "Unable to send command to printer driver";
 "Unable to send data to printer." = "Unable to send data to printer.";
 "Unable to set Windows printer driver (%d)." = "Unable to set Windows printer driver (%d).";
-"Unable to set options:" = "Unable to set options:";
-"Unable to set server default:" = "Unable to set server default:";
+"Unable to set options" = "Unable to set options";
+"Unable to set server default" = "Unable to set server default";
 "Unable to start backend process." = "Unable to start backend process.";
-"Unable to upload cupsd.conf file:" = "Unable to upload cupsd.conf file:";
+"Unable to upload cupsd.conf file" = "Unable to upload cupsd.conf file";
 "Unable to use legacy USB class driver." = "Unable to use legacy USB class driver.";
 "Unable to write print data" = "Unable to write print data";
 "Unable to write uncompressed print data: %s" = "Unable to write uncompressed print data: %s";
 "Upgrade Required" = "Upgrade Required";
 "Usage:\n\n    lpadmin [-h server] -d destination\n    lpadmin [-h server] -x destination\n    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m model]\n                       [-r remove-class] [-v device] [-D description]\n                       [-P ppd-file] [-o name=value]\n                       [-u allow:user,user] [-u deny:user,user]" = "Usage:\n\n    lpadmin [-h server] -d destination\n    lpadmin [-h server] -x destination\n    lpadmin [-h server] -p printer [-c add-class] [-i interface] [-m model]\n                       [-r remove-class] [-v device] [-D description]\n                       [-P ppd-file] [-o name=value]\n                       [-u allow:user,user] [-u deny:user,user]";
 "Usage: %s job-id user title copies options [file]" = "Usage: %s job-id user title copies options [file]";
-"Usage: %s job-id user title copies options file" = "Usage: %s job-id user title copies options file";
-"Usage: convert [ options ]" = "Usage: convert [ options ]";
 "Usage: cupsaddsmb [options] printer1 ... printerN" = "Usage: cupsaddsmb [options] printer1 ... printerN";
 "Usage: cupsctl [options] [param=value ... paramN=valueN]" = "Usage: cupsctl [options] [param=value ... paramN=valueN]";
 "Usage: cupsd [options]" = "Usage: cupsd [options]";
 "aborted" = "aborted";
 "canceled" = "canceled";
 "completed" = "completed";
-"convert: Use the -f option to specify a file to convert." = "convert: Use the -f option to specify a file to convert.";
 "cups-deviced failed to execute." = "cups-deviced failed to execute.";
 "cups-driverd failed to execute." = "cups-driverd failed to execute.";
 "cupsaddsmb: No PPD file for printer \"%s\" - %s" = "cupsaddsmb: No PPD file for printer \"%s\" - %s";
 "help\t\tGet help on commands." = "help\t\tGet help on commands.";
 "idle" = "idle";
 "ipptool: \"-i\" and \"-n\" are incompatible with -X\"." = "ipptool: \"-i\" and \"-n\" are incompatible with -X\".";
-"ipptool: \"-i\" is incompatible with \"-X\"." = "ipptool: \"-i\" is incompatible with \"-X\".";
-"ipptool: \"-n\" is incompatible with \"-X\"." = "ipptool: \"-n\" is incompatible with \"-X\".";
 "ipptool: Bad URI - %s." = "ipptool: Bad URI - %s.";
 "ipptool: Bad version %s for \"-V\"." = "ipptool: Bad version %s for \"-V\".";
 "ipptool: Invalid seconds for \"-i\"." = "ipptool: Invalid seconds for \"-i\".";
index d722ef64f2da087a55dd1ab27f1c1f06e915b639..93dc4a5300e8311c120c1937a1d9971d56ac4d8b 100644 (file)
@@ -59,6 +59,7 @@ MAN8  =       cupsaccept.$(MAN8EXT) \
                cups-driverd.$(MAN8EXT) \
                cups-lpd.$(MAN8EXT) \
                cups-polld.$(MAN8EXT) \
+               cups-snmp.$(MAN8EXT) \
                cupsd.$(MAN8EXT) \
                cupsenable.$(MAN8EXT) \
                lpadmin.$(MAN8EXT) \
index f2624954993bd50033eeff03cc565d38cbf166ca..156e061741d0c23c7b65eaac1404dca945532930 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   Backend man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
 .\"   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 backend 7 "CUPS" "15 April 2011" "Apple Inc."
+.TH backend 7 "CUPS" "23 April 2012" "Apple Inc."
 
 .SH NAME
 backend \- cups backend transmission interfaces
-
 .SH SYNOPSIS
 .B backend
 .br
@@ -24,34 +23,42 @@ backend \- cups backend transmission interfaces
 job user title num-copies options [
 .I filename
 ]
-
 .SH DESCRIPTION
-Backends are a special type of \fIfilter(7)\fR which is used to
-send print data to and discover different devices on the system.
-
+Backends are a special type of \fIfilter(7)\fR which is used to send print data
+to and discover different devices on the system.
 .LP
-Like filters, backends must be capable of reading from a filename
-on the command-line or from the standard input, copying the
-standard input to a temporary file as required by the physical
-interface.
-
+Like filters, backends must be capable of reading from a filename on the
+command-line or from the standard input, copying the standard input to a
+temporary file as required by the physical interface.
 .LP
 The command name (argv[0]) is set to the device URI of the destination printer.
 Starting with CUPS 1.1.22, any authentication information in argv[0] is removed,
 so backend developers are urged to use the DEVICE_URI environment variable
 whenever authentication information is required. The CUPS API includes a
 \fIcupsBackendDeviceURI\fR function for retrieving the correct device URI.
-
 .LP
 Back-channel data from the device should be relayed to the job
 filters by writing to file descriptor 3. The CUPS API includes
 the \fIcupsBackChannelWrite\fR function for this purpose.
-
+.SH WARNING
+CUPS backends are not generally design to be run directly by the user. Aside
+from the device URI issue (argv[0] and DEVICE_URI environment variable contain
+the device URI), CUPS backends also expect specific environment variables and
+file descriptors, and typically run in a user session that (on OS X) has
+additional restrictions that affect how it runs. Backends can also be installed
+with restricted permissions (0500 or 0700) that tell the scheduler to run them
+as the "root" user instead of an unprivileged user (typically "lp") on the
+system.
+.LP
+Unless you are a developer and know what you are doing, please do not run
+backends directly. Instead, use the \fIlp(1)\fR or \fIlpr(1)\fR programs to send
+a print job or \fIlpinfo(8)\fR program to query for available printers using the
+backend. The one exception is the SNMP backend - see \fIsnmpbackend(8)\fR for
+more information.
 .SH DEVICE DISCOVERY
-When run with no arguments, the backend should list the devices
-and schemes it supports or is advertising to stdout. The output
-consists of zero or more lines consisting of any of the following
-forms:
+When run with no arguments, the backend should list the devices and schemes it
+supports or is advertising to stdout. The output consists of zero or more lines
+consisting of any of the following forms:
 
 .nf
     device-class scheme "Unknown" "device-info"
@@ -59,138 +66,107 @@ forms:
     device-class device-uri "device-make-and-model" "device-info" "device-id"
     device-class device-uri "device-make-and-model" "device-info" "device-id" "device-location"
 .fi
-
 .LP
 The \fIdevice-class\fR field is one of the following values:
-
 .TP 5
 direct
 .br
-The device-uri refers to a specific direct-access device with no
-options, such as a parallel, USB, or SCSI device.
-
+The device-uri refers to a specific direct-access device with no options, such
+as a parallel, USB, or SCSI device.
 .TP 5
 file
 .br
 The device-uri refers to a file on disk.
-
 .TP 5
 network
 .br
-The device-uri refers to a networked device and conforms to the
-general form for network URIs.
-
+The device-uri refers to a networked device and conforms to the general form for
+network URIs.
 .TP 5
 serial
 .br
-The device-uri refers to a serial device with configurable baud
-rate and other options. If the device-uri contains a baud value,
-it represents the maximum baud rate supported by the device.
-
+The device-uri refers to a serial device with configurable baud rate and other
+options. If the device-uri contains a baud value, it represents the maximum baud
+rate supported by the device.
 .LP
-The \fIscheme\fR field provides the URI scheme that is supported
-by the backend. Backends should use this form only when the
-backend supports any URI using that scheme. The \fIdevice-uri\fR
-field specifies the full URI to use when communicating with the
-device.
-
+The \fIscheme\fR field provides the URI scheme that is supported by the backend.
+Backends should use this form only when the backend supports any URI using that
+scheme. The \fIdevice-uri\fR field specifies the full URI to use when
+communicating with the device.
 .LP
-The \fIdevice-make-and-model\fR field specifies the make and
-model of the device, e.g. "Acme Foojet 2000". If the make and
-model is not known, you must report "Unknown".
-
+The \fIdevice-make-and-model\fR field specifies the make and model of the
+device, e.g. "Example Foojet 2000". If the make and model is not known, you must
+report "Unknown".
 .LP
-The \fIdevice-info\fR field specifies additional information
-about the device. Typically this includes the make and model
-along with the port number or network address, e.g. "Acme Foojet
-2000 USB #1".
-
+The \fIdevice-info\fR field specifies additional information about the device.
+Typically this includes the make and model along with the port number or network
+address, e.g. "Example Foojet 2000 USB #1".
 .LP
-The optional \fIdevice-id\fR field specifies the IEEE-1284 device
-ID string for the device, which is used to select a matching
-driver.
-
+The optional \fIdevice-id\fR field specifies the IEEE-1284 device ID string for
+the device, which is used to select a matching driver.
 .LP
 The optional \fIdevice-location\fR field specifies the physical location of
 the device, which is often used to pre-populate the printer-location attribute
 when adding a printer.
-
 .SH PERMISSIONS
-Backends without world execute permissions are run as the root
-user. Otherwise, the backend is run using the unprivileged user
-account, typically "lp".
-
+Backends without world execute permissions are run as the root user. Otherwise,
+the backend is run using an unprivileged user account, typically "lp".
 .SH EXIT CODES
-The following exit codes are defined for backends; C API
-constants defined in the <cups/backend.h> header file are defined
-in parenthesis:
-
+The following exit codes are defined for backends; C API constants defined in
+the <cups/backend.h> header file are defined in parenthesis:
 .TP 5
 0 (CUPS_BACKEND_OK)
 .br
-The print file was successfully transmitted to the device or
-remote server.
-
+The print file was successfully transmitted to the device or remote server.
 .TP 5
 1 (CUPS_BACKEND_FAILED)
 .br
-The print file was not successfully transmitted to the device or
-remote server. The scheduler will respond to this by canceling
-the job, retrying the job, or stopping the queue depending on the
-state of the error-policy attribute.
-
+The print file was not successfully transmitted to the device or remote server.
+The scheduler will respond to this by canceling the job, retrying the job, or
+stopping the queue depending on the state of the error-policy attribute.
 .TP 5
 2 (CUPS_BACKEND_AUTH_REQUIRED)
 .br
-The print file was not successfully transmitted because valid
-authentication information is required. The scheduler will
-respond to this by holding the job and adding the
-authentication-required job-reasons keyword.
-
+The print file was not successfully transmitted because valid authentication
+information is required. The scheduler will respond to this by holding the job
+and adding the "cups-held-for-authentication" keyword to the "job-reasons"
+attribute.
 .TP 5
 3 (CUPS_BACKEND_HOLD)
 .br
-The print file was not successfully transmitted because it cannot
-be printed at this time. The scheduler will respond to this by
-holding the job.
-
+The print file was not successfully transmitted because it cannot be printed at
+this time. The scheduler will respond to this by holding the job.
 .TP 5
 4 (CUPS_BACKEND_STOP)
 .br
-The print file was not successfully transmitted because it cannot
-be printed at this time. The scheduler will respond to this by
-stopping the queue.
-
+The print file was not successfully transmitted because it cannot be printed at
+this time. The scheduler will respond to this by stopping the queue.
 .TP 5
 5 (CUPS_BACKEND_CANCEL)
 .br
-The print file was not successfully transmitted because one or
-more attributes are not supported. The scheduler will respond to
-this by canceling the job.
-
+The print file was not successfully transmitted because one or more attributes
+are not supported or the job was canceled at the printer. The scheduler will
+respond to this by canceling the job.
 .TP 5
 6 (CUPS_BACKEND_RETRY)
 .br
 The print file was not successfully transmitted because of a temporary issue.
 The scheduler will retry the job at a future time - other jobs may print before
 this one.
-
 .TP 5
 7 (CUPS_BACKEND_RETRY_CURRENT)
 .br
 The print file was not successfully transmitted because of a temporary issue.
 The scheduler will retry the job immediately without allowing intervening jobs.
-
 .PP
 All other exit code values are reserved.
-
 .SH SEE ALSO
-\fIcupsd(8)\fR, \fIcupsd.conf(5)\fR, \fIfilter(7)\fR,
+\fIcups-snmp(8)\fR, \fIcupsd(8)\fR, \fIcupsd.conf(5)\fR, \fIfilter(7)\fR,
+\fIlpinfo(8)\fR,
 .br
 http://localhost:631/help
-
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: backend.man 7810 2008-07-29 01:11:15Z mike $".
 .\"
index fc523b987e6e7b6003d7b10caf3d42cf5928ce2f..b9a6fd2317d31ee7149dc1670bebbafd45ca6874 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   cancel man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -69,7 +69,7 @@ Cancel-Jobs operations in \fIcupsd.conf(5)\fR.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: cancel.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 6c96a1d40eb0ed8c1fd0703872fc3c585ccc4dbc..269ddc4d9e0a7f4f11cddbda219c9623f28f28b3 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   classes.conf man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -104,7 +104,7 @@ Specifies the date/time associated with the state.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: classes.conf.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index e7df54e2aa1c7da78d0c7a8e4e2fd15de68bd3af..ef5233fb9353df7be7fcf4ab488128d1809c6e3c 100644 (file)
@@ -12,7 +12,7 @@
 .\"   which should have been included with this file.  If this file is
 .\"   file is missing or damaged, see the license at "http://www.cups.org/".
 .\"
-.TH client.conf 5 "CUPS" "15 February 2012" "Apple Inc."
+.TH client.conf 5 "CUPS" "23 April 2012" "Apple Inc."
 .SH NAME
 client.conf \- client configuration file for cups
 .SH DESCRIPTION
@@ -45,7 +45,7 @@ ServerName hostname-or-ip-address[:port]
 ServerName /domain/socket
 .br
 Specifies the address and optionally the port to use when connecting to the
-server. \fBNote: Not supported on Mac OS X 10.7 or later.\fR
+server. \fBNote: Not supported on OS X 10.7 or later.\fR
 .TP 5
 User name
 .br
index 14e228d9efc0d52d10aaaf751a4a182f979e1c04..44c8857dfdfb654eb50c750755a08285c9e6d71e 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   cups-config man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -111,7 +111,7 @@ Displays the full version number of the CUPS installation
 .SH SEE ALSO
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: cups-config.man 7646 2008-06-16 17:26:20Z mike $".
 .\"
index 85041411548cedfe49945eab9fadbea6da0e8d0c..a89cf056b07c9fd4d433cfad0e443d85599946b7 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   cups-deviced man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -38,7 +38,7 @@ backend(7), cupsd(8), cupsd.conf(5),
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: cups-deviced.man.in 7646 2008-06-16 17:26:20Z mike $".
 .\"
index 6368836153b22732b68a2bf6dfcb0350675984f4..93d779337780843fdf8daf433ad9b12df3d86f4b 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   cups-driverd man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -116,7 +116,7 @@ cupsd(8), cupsd.conf(5), cupstestppd(1), lpinfo(8),
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: cups-driverd.man.in 7662 2008-06-17 14:34:20Z mike $".
 .\"
index b894434952cbe239ab2621c2d6671874376c6cff..6e16dca7b34d1c2a34546e43d7bcaf6f111dadb9 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   cups-lpd man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -118,7 +118,7 @@ clients may be unreliable.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: cups-lpd.man.in 7835 2008-08-09 06:37:04Z mike $".
 .\"
index 450097d862a12ad30ba5834f0dd020eef77a14f0..8ef2fddc5c399128c14d9e4df16d0215d148ac3e 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   cups-polld man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -32,7 +32,7 @@ This program is started automatically by \fIcupsd\fR for every
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: cups-polld.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index e848ca50aca7b0f349c55b2512706ab9f495d9a9..f951b646c9222f11ac7003b79859ec5e4353a079 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   snmp.conf man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
 .\"   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 snmp.conf 5 "CUPS" "31 July 2006" "Apple Inc."
+.TH snmp.conf 5 "CUPS" "23 April 2012" "Apple Inc."
+
 .SH NAME
 snmp.conf \- snmp configuration file for cups
 .SH DESCRIPTION
-The \fIsnmp.conf\fR file configures the CUPS SNMP printer
-discovery backend and is  normally located in the \fI/etc/cups\fR
-directory. Each line in the file can be a configuration
-directive, a blank line, or a comment. Comment lines start with
-the # character.
+The \fIsnmp.conf\fR file configures how the standard CUPS network backends
+(http, https, ipp, ipps, lpd, snmp, and socket) access printer information using
+SNMPv1 and is normally located in the \fI/etc/cups\fR directory. Each line in
+the file can be a configuration directive, a blank line, or a comment. Comment
+lines start with the # character.
 .LP
-The SNMP backend uses the SNMPv1 protocol to discover network
-printers, collecting information from the Host MIB along with
-intelligent port probes to determine the correct device URI and
-make and model for each printer. Future versions of CUPS will
-likely support the new Port Monitor MIB as well.
+The Community and DebugLevel directives are used by all backends. The remainder
+apply only to the SNMP backend (\fIcups-snmp(8)\fR).
 .SH DIRECTIVES
-The following directives are understood by the SNMP backend.
-Consult the on-line help for detailed descriptions:
+The following directives are understood by the CUPS network backends. Consult
+the on-line help for detailed descriptions:
 .TP 5
 Address @IF(\fIname\fR)
 .TP 5
@@ -37,37 +35,44 @@ Address @LOCAL
 .TP 5
 Address \fIaddress\fR
 .br
-Sends SNMP broadcast queries to the specified address(es). The
-default address is "@LOCAL" which broadcasts to all LAN
-interfaces.
+Sends SNMP broadcast queries to the specified address(es). There is no default
+for the broadcast address.
 .TP 5
 Community \fIname\fR
 .br
-Specifies a SNMP community to query. The default community is
-"public".
+Specifies the community name to use. Only a single community name may be
+specified. The default community name is "public".
 .TP 5
-DebugLevel \fIN\fR
+DebugLevel number
 .br
-Sets the debug logging level to \fIN\fR; 0 disables debug
-logging, 1 enables basic logging, 2 displays SNMP values, and 3
-displays raw hex data.
+Specifies the logging level from 0 (none) to 3 (everything). Typically only used
+for debugging (thus the name). The default debug level is 0.
+.TP 5
+DeviceURI "regular expression" device-uri [... device-uri]
+.br
+Specifies one or more device URIs that should be used for a given make and model
+string. The regular expression is used to match the detected make and model, and
+the device URI strings must be of the form "scheme://%s[:port]/[path]", where
+"%s" represents the detected address or hostname. There are no default device
+URI matching rules.
 .TP 5
 HostNameLookups on
 .TP 5
 HostNameLookups off
 .br
-Specifies whether the addresses of printers should be converted
-to hostnames or left as numeric IP addresses. The default is
-"off".
+Specifies whether the addresses of printers should be converted to hostnames or
+left as numeric IP addresses. The default is "off".
 .TP 5
 MaxRunTime \fIseconds\fR
 .br
-Specifies the maximum number of seconds that the SNMP backend
-will scan the network for printers.
+Specifies the maximum number of seconds that the SNMP backend will scan the
+network for printers. The default is 120 seconds (2 minutes).
 .SH SEE ALSO
+cups-snmp(8),
+.br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: cups-snmp.conf.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
diff --git a/man/cups-snmp.man.in b/man/cups-snmp.man.in
new file mode 100644 (file)
index 0000000..f34170d
--- /dev/null
@@ -0,0 +1,59 @@
+.\"
+.\" "$Id$"
+.\"
+.\"   SNMP backend man page for CUPS.
+.\"
+.\"   Copyright 2012 by Apple Inc.
+.\"
+.\"   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/".
+.\"
+.TH cups-snmp 8 "CUPS" "23 April 2012" "Apple Inc."
+.SH NAME
+snmp \- cups snmp backend
+.SH SYNOPSIS
+.B @CUPS_SERVERBIN@/backend/snmp
+.I ip-address-or-hostname
+.br
+.B lpinfo -v --include-schemes snmp
+.SH DESCRIPTION
+The CUPS SNMP backend provides legacy discovery and identification of network
+printers using SNMPv1. When used for discovery through the scheduler, the
+backend will list all printers that respond to a broadcast SNMPv1 query with the
+"public" community name. Additional queries are then sent to printers that
+respond in order to determine the correct device URI, make and model, and other
+information needed for printing.
+.LP
+In the first form, the SNMP backend is run directly by the user to look up the
+device URI and other information when you have an IP address or hostname. This
+can be used for programs that need to configure print queues where the user has
+supplied an address but nothing else.
+.LP
+In the second form, the SNMP backend is run indirectly using the \fIlpinfo(8)\fR
+command. The output provides all printers detected via SNMP on the configured
+broadcast addresses. \fBNote\fR: no broadcast addresses are configured by
+default.
+.SH MIBS
+The CUPS SNMP backend uses the information from the Host, Printer, and Port
+Monitor MIBs along with some vendor private MIBs and intelligent port probes to
+determine the correct device URI and make and model for each printer.
+.SH CONFIGURATION
+The SNMP backend reads the @CUPS_SERVERROOT@/snmp.conf configuration file, if
+present, to set the default broadcast address, community name, and logging
+level. The configuration file is documented in \fIcups-snmp.conf(5)\fR. The
+DebugLevel value can be overridden using the CUPS_DEBUG_LEVEL environment
+variable and the MaxRunTime value can be overridden using the CUPS_MAX_RUN_TIME
+environment variable.
+.SH SEE ALSO
+\fIbackend(7)\fR, \fIcups-snmp.conf(5)\fR, \fIcupsd(8)\fR, \fIcupsd.conf(5)\fR,
+\fIfilter(7)\fR, \fIlpinfo(8)\fR,
+.br
+http://localhost:631/help
+.SH COPYRIGHT
+Copyright 2007-2012 by Apple Inc.
+.\"
+.\" End of "$Id$".
+.\"
index e870ebc3840a3107ef7240c0e2fa069dd77053d1..a03ae5d50a32ab6a0b6cb88386c66b6530f27c48 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   accept/reject man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -73,7 +73,7 @@ require the root user to execute these commands.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: cupsaccept.man 7930 2008-09-10 22:25:54Z mike $".
 .\"
index 8632ada236829cbeebd5ccc78fd58eba8bdcddb3..a8134142d690c63dcea29e8506a85cad1e279dcb 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   cupsaddsmb man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -208,7 +208,7 @@ http://localhost:631/help
 http://www.cups.org/windows/
 
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: cupsaddsmb.man.in 7600 2008-05-20 21:06:23Z mike $".
 .\"
index f5f5b5cc85e031fb8a46a29338bbcb3de0665b6e..9e0e7d576a179eef55a8adcfe745c4837485c406 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   cupsctl man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 2007 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -101,7 +101,7 @@ You cannot set the Listen or Port directives using \fIcupsctl\fR.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: cupsctl.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 15ee6323aa3be06e7427330108c9e685fcef414c..2e4b8cd12f8bbcf32020ac172d34f4095db4e716 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   cupsd man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -66,7 +66,7 @@ operations.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: cupsd.man.in 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 9bbe7fab322fc55608259fc4e76a6be16cce077f..6ed5ee846cf7feb762ef7acae5379366f6ff9523 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   cupsenable/cupsdisable man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -86,7 +86,7 @@ require the root user to execute these commands.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 
 .\"
 .\" End of "$Id: cupsenable.man 7600 2008-05-20 21:06:23Z mike $".
index e4f961d33ed6cd00bfc648f59759bfef72bb2069..d85cb194b33834c1ef18dd2e3402e5c466db0e19 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   cupsfilter man page for CUPS.
 .\"
-.\"   Copyright 2007-2010 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
 .\"   property of Apple Inc. and are protected by Federal copyright
@@ -18,7 +18,7 @@ cupsfilter \- convert a file to another format using cups filters
 .B cupsfilter
 [ -c
 .I config-file
-] [ -d 
+] [ -d
 .I printer
 ] [ -e ] -j
 .I job-id[,N]
@@ -85,7 +85,7 @@ This will be addressed in a future CUPS release.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2010 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: cupsfilter.man 7936 2008-09-11 03:12:59Z mike $".
 .\"
index 7bfed4e844f159b2d7dcd2c2e2291412d4e1a0b1..62bc25bc949594208e5e702674a1c7bc56fd063e 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   cupstestdsc man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -44,7 +44,7 @@ http://localhost:631/help
 Adobe PostScript Language Document Structuring Conventions
 Specification, Version 3.0.
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: cupstestdsc.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 0f94d7454f1d172583f50051525a70dcda490684..f1d90f258bb84406fef02360ec0e2eaba2f0bcc2 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   cupstestppd man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -159,7 +159,7 @@ http://localhost:631/help
 .br
 Adobe PostScript Printer Description File Format Specification, Version 4.3.
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: cupstestppd.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 9dbd1ea0defb50f2f7d373c30fa347b19853571d..50b087247915003b62dbdc543d41ee59e6dc3f51 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   filter man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2007 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -12,7 +12,7 @@
 .\"   which should have been included with this file.  If this file is
 .\"   file is missing or damaged, see the license at "http://www.cups.org/".
 .\"
-.TH filter 7 "CUPS" "13 May 2009" "Apple Inc."
+.TH filter 7 "CUPS" "13 April 2012" "Apple Inc."
 .SH NAME
 filter \- cups file conversion filter interface
 .SH SYNOPSIS
@@ -33,7 +33,14 @@ standard output.
 .LP
 The command name (argv[0]) is set to the name of the destination printer but is
 also available in the PRINTER environment variable.
-
+.SH WARNING
+CUPS filters are not meant to be run directly by the user. Aside from the legacy
+System V interface issues (argv[0] is the printer name), CUPS filters also
+expect specific environment variables and file descriptors, and typically run in
+a user session that (on OS X) has additional restrictions that affect how it
+runs. Unless you are a developer and know what you are doing, please do not run
+filters directly. Instead, use the \fIcupsfilter(8)\fR program to use the
+appropriate filters to do the conversions you need.
 .SH OPTIONS
 Options passed on the command-line typically do not include the default choices
 the printer's PPD file. In addition, some options may be specified in multiple
@@ -48,67 +55,59 @@ Raster filters should use option choices set through the raster page header, as
 those reflect the options in effect for a given page. Options specified on the
 command-line determine the default values for the entire job, which can be
 overridden on a per-page basis.
-
 .SH LOG MESSAGES
 Messages sent to stderr are generally logged to
 printer-state-message attribute and the current \fIErrorLog\fR.
 Each line begins with a standard prefix:
-
 .TP 5
 ALERT: message
 .br
 Sets the printer-state-message attribute and adds the specified
 message to the current \fIErrorLog\fR using the "alert" log level.
-
 .TP 5
 ATTR: attribute=value [attribute=value]
 .br
-Sets the named job attribute(s). Typically this will be used to
-set the job-remote-id attribute.
-
+Sets the named job or printer attribute(s). The following job attributes can be
+set: "job-media-progress". The following printer attributes can be set:
+"auth-info-required", "marker-colors", "marker-high-levels", "marker-levels",
+"marker-low-levels", "marker-message", "marker-names", "marker-types",
+"printer-alert", and "printer-alert-description".
 .TP 5
 CRIT: message
 .br
 Sets the printer-state-message attribute and adds the specified
 message to the current \fIErrorLog\fR using the "critical" log level.
-
 .TP 5
 DEBUG: message
 .br
 Sets the printer-state-message attribute and adds the specified
 message to the current \fIErrorLog\fR using the "debug" log level.
-
 .TP 5
 DEBUG2: message
 .br
 Sets the printer-state-message attribute and adds the specified
 message to the current \fIErrorLog\fR using the "debug2" log level.
-
 .TP 5
 EMERG: message
 .br
 Sets the printer-state-message attribute and adds the specified
 message to the current \fIErrorLog\fR using the "emergency" log level.
-
 .TP 5
 ERROR: message
 .br
 Sets the printer-state-message attribute and adds the specified
 message to the current \fIErrorLog\fR using the "error" log level.
-
 .TP 5
 INFO: message
 .br
 Sets the printer-state-message attribute. If the current \fILogLevel\fR
 is set to "debug2", also adds the specified message to the
 current \fIErrorLog\fR using the "info" log level.
-
 .TP 5
 NOTICE: message
 .br
 Sets the printer-state-message attribute and adds the specified
 message to the current \fIErrorLog\fR using the "notice" log level.
-
 .TP 5
 PAGE: page-number #-copies
 .TP 5
@@ -117,14 +116,12 @@ PAGE: total #-pages
 Adds an entry to the current \fIPageLog\fR. The first form adds
 #-copies to the job-media-sheets-completed attribute. The second
 form sets the job-media-sheets-completed attribute to #-pages.
-
 .TP 5
 PPD: Keyword=Value ... KeywordN=Value
 .br
 Sets the named keywords in the printer's PPD file. This is typically
 used to update default option keywords such as DefaultPageSize and
 the various installable options in the PPD file.
-
 .TP 5
 STATE: printer-state-reason [printer-state-reason ...]
 .TP 5
@@ -135,122 +132,102 @@ STATE: - printer-state-reason [printer-state-reason ...]
 Sets, adds, or removes printer-state-reason keywords to the
 current queue. Typically this is used to indicate media, ink, and
 toner conditions on a printer.
-
 .TP 5
 WARNING: message
 .br
 Sets the printer-state-message attribute and adds the specified
 message to the current \fIErrorLog\fR using the "warning" log level.
-
 .SH ENVIRONMENT VARIABLES
 The following environment variables are defined by the CUPS
 server when executing the filter:
-
 .TP 5
 CHARSET
 .br
 The default text character set, typically utf-8.
-
 .TP 5
 CLASS
 .br
 When a job is submitted to a printer class, contains the name of
 the destination printer class. Otherwise this environment
 variable will not be set.
-
 .TP 5
 CONTENT_TYPE
 .br
 The MIME type associated with the file (e.g.
 application/postscript).
-
 .TP 5
 CUPS_CACHEDIR
 .br
 The directory for semi-persistent cache files can be found.
-
 .TP 5
 CUPS_DATADIR
 .br
 The directory where data files can be found.
-
 .TP 5
 CUPS_FILETYPE
 .br
 The type of file being printed: "job-sheet" for a banner page and "document"
 for a regular print file.
-
 .TP 5
 CUPS_SERVERROOT
 .br
 The root directory of the server.
-
 .TP 5
 DEVICE_URI
 .br
 The device-uri associated with the printer.
-
 .TP 5
 FINAL_CONTENT_TYPE
 .br
 The MIME type associated with the printer (e.g.
 application/vnd.cups-postscript).
-
 .TP 5
 LANG
 .br
 The default language locale (typically C or en).
-
 .TP 5
 PATH
 .br
 The standard execution path for external programs that may be run by
 the filter.
-
 .TP 5
 PPD
 .br
 The full pathname of the PostScript Printer Description (PPD)
 file for this printer.
-
 .TP 5
 PRINTER
 .br
 The name of the printer.
-
 .TP 5
 RIP_CACHE
 .br
 The recommended amount of memory to use for Raster Image
 Processors (RIPs).
-
 .TP 5
 SOFTWARE
 .br
 The name and version number of the server (typically CUPS/1.2).
-
 .TP 5
 TZ
 .br
 The timezone of the server.
-
 .TP 5
 USER
 .br
 The user executing the filter, typically "lp" or "root"; consult the
 \fIcupsd.conf(5)\fR file for the current setting.
-
 .SH COMPATIBILITY
 While the filter interface is compatible with System V interface
 scripts, it will only work with the System V interface script as the
 only filter.  Typically the interface script will be provided via the
 \fIlpadmin(8)\fR command using the \fI-i\fR option.
 .SH SEE ALSO
-\fIbackend(7)\fR, \fIcupsd(8)\fR,
+\fIbackend(7)\fR, \fIcupsd(8)\fR, \fIcupsfilter(8)\fR,
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: filter.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 7b190031c0c51ecd36abddd4225c2e3f23e89b29..3fb0f8f448722eaba96944dfc74e95be21b5216a 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   ipptool man page for CUPS.
 .\"
-.\"   Copyright 2010 by Apple Inc.
+.\"   Copyright 2010-2012 by Apple Inc.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
 .\"   property of Apple Inc. and are protected by Federal copyright
@@ -108,12 +108,25 @@ Send email notifications to "user@example.com" when "myprinter" changes:
 .SH STANDARD FILES
 The following standard files are available:
 .nf
+    color.jpg
     create-printer-subscription.test
+    document-a4.pdf
+    document-a4.ps
+    document-letter.pdf
+    document-letter.ps
     get-completed-jobs.test
     get-jobs.test
+    get-printer-attributes.test
+    gray.jpg
     ipp-1.1.test
     ipp-2.0.test
     ipp-2.1.test
+    ipp-2.2.test
+    onepage-a4.pdf
+    onepage-a4.ps
+    onepage-letter.pdf
+    onepage-letter.ps
+    print-job.test
     testfile.jpg
     testfile.pdf
     testfile.ps
@@ -124,7 +137,7 @@ The following standard files are available:
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2010 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id$".
 .\"
index 260921660ca969516a60a252a79d55db3e3b394c..4749daf22c3313a392b73f682fc2ba76733713ad 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   lp man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -252,7 +252,7 @@ is highest priority).
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: lp.man 7889 2008-08-29 22:03:35Z mike $".
 .\"
index 9552c30f4860cb384a5a0d6e1edb5b8c7c57dee3..2bc635897063d8eb6b075d65f9f816f4df47933a 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   lpadmin man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -222,7 +222,7 @@ System V or Solaris printing system configuration options.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: lpadmin.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 383e60bf75db6a1029139a10df7191cd260f280c..d3801199173879d44b571ba7003843abbe94248d 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   lpc man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -65,7 +65,7 @@ standard Berkeley or LPRng commands.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: lpc.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 7a5f1796a525ac831af50ecf04879a37d7d57046..4a8324228bc09cf9c41c2a296eabedbe8a0894fe 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   lpinfo man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -109,7 +109,7 @@ The \fIlpinfo\fR command is unique to CUPS.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: lpinfo.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index d7a764050e3b823e555e0c65e3b9dd07a2e4c00a..2100e0a30bb9b53307319723adef5a9afad1330c 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   lpmove man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -60,7 +60,7 @@ Specifies an alternate server.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: lpmove.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index e799fcab392b97195e8084dee5623311178f5811..3658f8f5ecb543b0af414cc06a48c6fafa11400d 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   lpoptions man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -129,7 +129,7 @@ created by the root user.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: lpoptions.man.in 7889 2008-08-29 22:03:35Z mike $".
 .\"
index 0db15c9d242f5e20a4abf6285db09d340303fd1c..b64d642d8e727e8c0dabc9c3008bf3f3905ca630 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   lpadmin man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -62,7 +62,7 @@ accounts managed by PAM instead.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: lppasswd.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 26fc7d3e306952e0ec6972b18497bda6cef1e412..f1d87ae01b58887948b6f414d1f0db30790f6562 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   lpq man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -66,7 +66,7 @@ Requests a more verbose (long) reporting format.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: lpq.man 7646 2008-06-16 17:26:20Z mike $".
 .\"
index 4c435cb7535026a3f9dc6ebeddb8c0f347836a1a..1dcc937d0483ebf3340b1efc307d7f8039b007de 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   lpr man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -116,7 +116,7 @@ are not supported by CUPS and produce a warning message if used.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: lpr.man 7889 2008-08-29 22:03:35Z mike $".
 .\"
index 0d62728696815e65682784e7b9f2cd798c29be75..36e90841fbe93ba6d68515113f0b6eaf9e766880 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   lprm man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -59,7 +59,7 @@ Berkeley \fIlprm\fR command.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: lprm.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 19f536b822bc5ef9626ca88cf7c11218290a9fd8..92f611283976491364e66597db027214fa48df80 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   lpstat man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -137,7 +137,7 @@ The Solaris "-f", "-P", and "-S" options are silently ignored.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: lpstat.man 7921 2008-09-10 15:42:24Z mike $".
 .\"
index c7806c5b863e9ab335f7d5617a6696056c2ad40d..d603dd0dda8c5b236e79312bfaee37850223e328 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   mailto.conf man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -54,7 +54,7 @@ Specifies a prefix string for the subject line of an email notification.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: mailto.conf.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index ddafa7bd3eaee2fe4fe5dd5152d0e9d9823ef64a..14622a9922bd55cc72d14b60961fe05c45d0fc61 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   mime.convs man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -40,7 +40,7 @@ application/postscript application/vnd.cups-raster 50 pstoraster
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: mime.convs.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 809817024e0a4fea226bd6a269f58c71b09d0527..5ed9ebdf69e16814e7a3206b315790ef9c725b99 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   mime.types man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -109,7 +109,7 @@ higher priority than "text/bar", "text/foo" will be chosen instead.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: mime.types.man 7670 2008-06-17 22:42:08Z mike $".
 .\"
index d2cd149eb6f827c72f7d5803b101cabf83866c59..cc6e800c203f002c4f8ef233446a1dc74224ecb2 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   notifier man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2007 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -151,7 +151,7 @@ file for the current setting.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id$".
 .\"
index 083ed56a4f78ff1b941225643b0595c5e3ca3b66..6a07338533e36feb3465fe14bd9753634e78b96d 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   ppdcfile man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2007 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -165,7 +165,7 @@ ppdc(1), ppdhtml(1), ppdi(1), ppdmerge(1), ppdpo(1)
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: ppdcfile.man 7607 2008-05-21 01:06:23Z mike $".
 .\"
index 20b9469e4fa802bd71ec62bf56fc42ec542dec37..bb3d57a26f7749d66d25cf8d716fa44831ff0266 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   ppdhtml man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2007 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -40,7 +40,7 @@ ppdc(1), ppdcfile(5), ppdi(1), ppdmerge(1), ppdpo(1)
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: ppdhtml.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 2bf3763f9317d865d70a36b2b2de32b6693d5833..dea64ec74cebb22aaff87b1d266ace844c39a416 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   ppdi man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2007 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -40,7 +40,7 @@ ppdc(1), ppdhtml(1), ppdmerge(1), ppdpo(1), ppdcfile(5)
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: ppdi.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index d4ee25fcb96dd772d56d40d92c7a8ecd7ce6ae8c..fcd495fd4fe353f6a6fa838e387289b84a54d1ea 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   ppdmerge man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2007 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -41,7 +41,7 @@ cupsprofile(1), ppdc(1), ppdhtml(1), ppdi(1), ppdpo(1), ppdcfile(5)
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: ppdmerge.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index a6943985f830725816c8842696813a24c6c07bcd..8e6c5f544cbb7273aaf71b8279dd129b38769ec4 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   ppdpo man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2007 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -12,7 +12,7 @@
 .\"   which should have been included with this file.  If this file is
 .\"   file is missing or damaged, see the license at "http://www.cups.org/".
 .\"
-.TH ppdpo 1 "CUPS" "10 October 2008" "Apple Inc."
+.TH ppdpo 1 "CUPS" "23 April 2012" "Apple Inc."
 .SH NAME
 ppdpo \- ppd message catalog generator
 .SH SYNOPSIS
@@ -27,7 +27,7 @@ ppdpo \- ppd message catalog generator
 .I source-file
 .SH DESCRIPTION
 \fIppdpo\fR extracts UI strings from PPDC source files and updates either
-a GNU gettext or Mac OS X strings format message catalog source file for
+a GNU gettext or OS X strings format message catalog source file for
 translation.
 .PP
 The \fI-D\fR option sets the named variable for use in the
@@ -40,13 +40,13 @@ directories.
 .PP
 The \fI-o\fR option specifies the output file. The supported extensions are
 ".po" or ".po.gz" for GNU gettext format message catalogs and ".strings" for
-Mac OS X strings files.
+OS X strings files.
 .SH SEE ALSO
 ppdc(1), ppdhtml(1), ppdi(1), ppdmerge(1), ppdcfile(5)
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: ppdpo.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index b3fdce38362eda9731decfa3d3544bb679de4018..d6902f7e83ac3a30b914025b8bddf5822f732f17 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   printers.conf man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -118,7 +118,7 @@ Specifies the date/time associated with the state.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: printers.conf.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index e2faa1406a293299d648d1c8fce89272d827bd25..2642ee7d8cef0d878ff844d382591014ea2cd2a6 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   subscriptions.conf man page for CUPS.
 .\"
-.\"   Copyright 2007-2011 by Apple Inc.
+.\"   Copyright 2007-2012 by Apple Inc.
 .\"   Copyright 2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -83,7 +83,7 @@ is typically the "from" address in mailto: notifications.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2011 by Apple Inc.
+Copyright 2007-2012 by Apple Inc.
 .\"
 .\" End of "$Id: subscriptions.conf.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 594a83cf878fcb7f93ca431fdfbc4435a742a78a..54d05e76a8679de3ba0e5363eda73cf42c7af7f5 100644 (file)
@@ -1,14 +1,13 @@
-bcp.o: bcp.c ../cups/cups-private.h ../cups/cups.h ../cups/file.h \
-  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
-  ../cups/language.h ../cups/string-private.h ../config.h \
-  ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h \
-  ../cups/pwg-private.h ../cups/http-private.h ../cups/md5-private.h \
-  ../cups/ipp-private.h ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
-tbcp.o: tbcp.c ../cups/cups-private.h ../cups/cups.h ../cups/file.h \
-  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
-  ../cups/language.h ../cups/string-private.h ../config.h \
-  ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h \
-  ../cups/pwg-private.h ../cups/http-private.h ../cups/md5-private.h \
-  ../cups/ipp-private.h ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
+bcp.o: bcp.c ../cups/cups-private.h ../cups/string-private.h ../config.h \
+  ../cups/debug-private.h ../cups/versioning.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+tbcp.o: tbcp.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
index 582d6f599cd04c6f0b742046a8810625df9979ca..f5a26a4681667b432f438807d71145f684d2bae2 100644 (file)
@@ -1,20 +1,20 @@
 dbus.o: dbus.c ../cups/cups.h ../cups/file.h ../cups/versioning.h \
   ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
   ../cups/string-private.h ../config.h
-mailto.o: mailto.c ../cups/cups-private.h ../cups/cups.h ../cups/file.h \
-  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
-  ../cups/language.h ../cups/string-private.h ../config.h \
-  ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h \
-  ../cups/pwg-private.h ../cups/http-private.h ../cups/md5-private.h \
-  ../cups/ipp-private.h ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
+mailto.o: mailto.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
 rss.o: rss.c ../cups/cups.h ../cups/file.h ../cups/versioning.h \
   ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
   ../cups/string-private.h ../config.h ../cups/ipp-private.h
-testnotify.o: testnotify.c ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h
+testnotify.o: testnotify.c ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
index 4e3405caa1816b29c10a83db02d3629737f63f06..3458cbb5c7944bd9b64257be312385af30cb4d89 100755 (executable)
@@ -1,11 +1,11 @@
 #!/bin/sh
 case `uname -r` in
-       # Mac OS X 10.4.x
-       8.*) exit 0;;
+       # OS X 10.7.x
+       11.*) exit 0;;
 
-       # Mac OS X 10.5.x
-       9.*) exit 0;;
+       # OS X 10.8.x
+       12.*) exit 0;;
 
-       # Older Mac OS X...
+       # Older OS X...
        *) exit 97;;
 esac
index e842e62065a4a80d8ac45d43847f40dc32f4b9b0..8f1f4a106d8480380a72109186d92ebd13d8a033 100644 (file)
@@ -26,7 +26,7 @@
 %version @CUPS_VERSION@
 %format all
 %description CUPS is the standards-based, open source printing system developed by
-%description Apple Inc. for Mac OS® X and other UNIX®-like operating systems.
+%description Apple Inc. for OS X and other UNIX®-like operating systems.
 
 %format rpm
 %provides lpd
@@ -277,7 +277,9 @@ l 0700 root sys $SERVERBIN/backend/ipps ipp
 f 0500 root sys $SERVERBIN/backend/lpd backend/lpd
 %if DNSSD_BACKEND
 f 0500 root sys $SERVERBIN/backend/dnssd backend/dnssd
+%system darwin
 l 0700 root sys $SERVERBIN/backend/mdns dnssd
+%system all
 %endif
 f 0555 root sys $SERVERBIN/backend/snmp backend/snmp
 f 0555 root sys $SERVERBIN/backend/socket backend/socket
@@ -420,27 +422,27 @@ d 0755 root $CUPS_GROUP $STATEDIR -
 d 0511 root $CUPS_PRIMARY_SYSTEM_GROUP $STATEDIR/certs -
 
 # Data files
-f 0444 root sys $LOCALEDIR/da/cups_da.po locale/cups_da.po
-f 0444 root sys $LOCALEDIR/de/cups_de.po locale/cups_de.po
-f 0444 root sys $LOCALEDIR/es/cups_es.po locale/cups_es.po
+#f 0444 root sys $LOCALEDIR/da/cups_da.po locale/cups_da.po
+#f 0444 root sys $LOCALEDIR/de/cups_de.po locale/cups_de.po
+#f 0444 root sys $LOCALEDIR/es/cups_es.po locale/cups_es.po
 #f 0444 root sys $LOCALEDIR/et/cups_et.po locale/cups_et.po
-f 0444 root sys $LOCALEDIR/eu/cups_eu.po locale/cups_eu.po
-f 0444 root sys $LOCALEDIR/fi/cups_fi.po locale/cups_fi.po
-f 0444 root sys $LOCALEDIR/fr/cups_fr.po locale/cups_fr.po
+#f 0444 root sys $LOCALEDIR/eu/cups_eu.po locale/cups_eu.po
+#f 0444 root sys $LOCALEDIR/fi/cups_fi.po locale/cups_fi.po
+#f 0444 root sys $LOCALEDIR/fr/cups_fr.po locale/cups_fr.po
 #f 0444 root sys $LOCALEDIR/he/cups_he.po locale/cups_he.po
-f 0444 root sys $LOCALEDIR/id/cups_id.po locale/cups_id.po
-f 0444 root sys $LOCALEDIR/it/cups_it.po locale/cups_it.po
-f 0444 root sys $LOCALEDIR/ja/cups_ja.po locale/cups_ja.po
-f 0444 root sys $LOCALEDIR/ko/cups_ko.po locale/cups_ko.po
-f 0444 root sys $LOCALEDIR/nl/cups_nl.po locale/cups_nl.po
-f 0444 root sys $LOCALEDIR/no/cups_no.po locale/cups_no.po
-f 0444 root sys $LOCALEDIR/pl/cups_pl.po locale/cups_pl.po
-f 0444 root sys $LOCALEDIR/pt/cups_pt.po locale/cups_pt.po
-f 0444 root sys $LOCALEDIR/pt_BR/cups_pt_BR.po locale/cups_pt_BR.po
-f 0444 root sys $LOCALEDIR/ru/cups_ru.po locale/cups_ru.po
-f 0444 root sys $LOCALEDIR/sv/cups_sv.po locale/cups_sv.po
-f 0444 root sys $LOCALEDIR/zh/cups_zh.po locale/cups_zh.po
-f 0444 root sys $LOCALEDIR/zh_TW/cups_zh_TW.po locale/cups_zh_TW.po
+#f 0444 root sys $LOCALEDIR/id/cups_id.po locale/cups_id.po
+#f 0444 root sys $LOCALEDIR/it/cups_it.po locale/cups_it.po
+#f 0444 root sys $LOCALEDIR/ja/cups_ja.po locale/cups_ja.po
+#f 0444 root sys $LOCALEDIR/ko/cups_ko.po locale/cups_ko.po
+#f 0444 root sys $LOCALEDIR/nl/cups_nl.po locale/cups_nl.po
+#f 0444 root sys $LOCALEDIR/no/cups_no.po locale/cups_no.po
+#f 0444 root sys $LOCALEDIR/pl/cups_pl.po locale/cups_pl.po
+#f 0444 root sys $LOCALEDIR/pt/cups_pt.po locale/cups_pt.po
+#f 0444 root sys $LOCALEDIR/pt_BR/cups_pt_BR.po locale/cups_pt_BR.po
+#f 0444 root sys $LOCALEDIR/ru/cups_ru.po locale/cups_ru.po
+#f 0444 root sys $LOCALEDIR/sv/cups_sv.po locale/cups_sv.po
+#f 0444 root sys $LOCALEDIR/zh/cups_zh.po locale/cups_zh.po
+#f 0444 root sys $LOCALEDIR/zh_TW/cups_zh_TW.po locale/cups_zh_TW.po
 
 d 0755 root sys $DATADIR -
 
@@ -465,8 +467,13 @@ d 0755 root sys $DATADIR/ipptool -
 f 0444 root sys $DATADIR/ipptool/create-printer-subscription.test test/create-printer-subscription.test
 f 0444 root sys $DATADIR/ipptool/get-completed-jobs.test test/get-completed-jobs.test
 f 0444 root sys $DATADIR/ipptool/get-jobs.test test/get-jobs.test
+f 0444 root sys $DATADIR/ipptool/get-printer-attributes.test test/get-printer-attributes.test
+f 0444 root sys $DATADIR/ipptool/print-job.test test/print-job.test
+f 0444 root sys $DATADIR/ipptool test/document-*.p*
 f 0444 root sys $DATADIR/ipptool test/ipp-*.test
-f 0444 root sys $DATADIR/ipptool test/testfile.*
+f 0444 root sys $DATADIR/ipptool test/onepage-*.p*
+f 0444 root sys $DATADIR/ipptool/color.jpg test/color.jpg
+f 0444 root sys $DATADIR/ipptool/gray.jpg test/gray.jpg
 
 d 0755 root sys $DATADIR/mime -
 f 0444 root sys $DATADIR/mime/mime.convs conf/mime.convs
@@ -482,17 +489,17 @@ d 0755 root sys $DATADIR/templates -
 f 0444 root sys $DATADIR/templates templates/*.tmpl
 
 ## Template files
-d 0755 root sys $DATADIR/templates/de
-f 0444 root sys $DATADIR/templates/de templates/de/*.tmpl
+#d 0755 root sys $DATADIR/templates/de
+#f 0444 root sys $DATADIR/templates/de templates/de/*.tmpl
 
-d 0755 root sys $DATADIR/templates/es
-f 0444 root sys $DATADIR/templates/es templates/es/*.tmpl
+#d 0755 root sys $DATADIR/templates/es
+#f 0444 root sys $DATADIR/templates/es templates/es/*.tmpl
 
 #d 0755 root sys $DATADIR/templates/et
 #f 0444 root sys $DATADIR/templates/et templates/et/*.tmpl
 
-d 0755 root sys $DATADIR/templates/eu
-f 0444 root sys $DATADIR/templates/eu templates/eu/*.tmpl
+#d 0755 root sys $DATADIR/templates/eu
+#f 0444 root sys $DATADIR/templates/eu templates/eu/*.tmpl
 
 #d 0755 root sys $DATADIR/templates/fr
 #f 0444 root sys $DATADIR/templates/fr templates/fr/*.tmpl
@@ -500,20 +507,20 @@ f 0444 root sys $DATADIR/templates/eu templates/eu/*.tmpl
 #d 0755 root sys $DATADIR/templates/he
 #f 0444 root sys $DATADIR/templates/he templates/he/*.tmpl
 
-d 0755 root sys $DATADIR/templates/id
-f 0444 root sys $DATADIR/templates/id templates/id/*.tmpl
+#d 0755 root sys $DATADIR/templates/id
+#f 0444 root sys $DATADIR/templates/id templates/id/*.tmpl
 
-d 0755 root sys $DATADIR/templates/it
-f 0444 root sys $DATADIR/templates/it templates/it/*.tmpl
+#d 0755 root sys $DATADIR/templates/it
+#f 0444 root sys $DATADIR/templates/it templates/it/*.tmpl
 
-d 0755 root sys $DATADIR/templates/ja
-f 0444 root sys $DATADIR/templates/ja templates/ja/*.tmpl
+#d 0755 root sys $DATADIR/templates/ja
+#f 0444 root sys $DATADIR/templates/ja templates/ja/*.tmpl
 
-d 0755 root sys $DATADIR/templates/pl
-f 0444 root sys $DATADIR/templates/pl templates/pl/*.tmpl
+#d 0755 root sys $DATADIR/templates/pl
+#f 0444 root sys $DATADIR/templates/pl templates/pl/*.tmpl
 
-d 0755 root sys $DATADIR/templates/ru
-f 0444 root sys $DATADIR/templates/ru templates/ru/*.tmpl
+#d 0755 root sys $DATADIR/templates/ru
+#f 0444 root sys $DATADIR/templates/ru templates/ru/*.tmpl
 
 #d 0755 root sys $DATADIR/templates/sv
 #f 0444 root sys $DATADIR/templates/sv templates/sv/*.tmpl
@@ -547,19 +554,16 @@ f 0444 root sys $INCLUDEDIR/cups/dir.h cups/dir.h
 f 0444 root sys $INCLUDEDIR/cups/file.h cups/file.h
 f 0444 root sys $INCLUDEDIR/cups/http.h cups/http.h
 f 0444 root sys $INCLUDEDIR/cups/ipp.h cups/ipp.h
-f 0444 root sys $INCLUDEDIR/cups/mime.h scheduler/mime.h
 f 0444 root sys $INCLUDEDIR/cups/language.h cups/language.h
 f 0444 root sys $INCLUDEDIR/cups/ppd.h cups/ppd.h
 f 0444 root sys $INCLUDEDIR/cups/raster.h cups/raster.h
+f 0444 root sys $INCLUDEDIR/cups/sidechannel.h cups/sidechannel.h
 f 0444 root sys $INCLUDEDIR/cups/transcode.h cups/transcode.h
+f 0444 root sys $INCLUDEDIR/cups/versioning.h cups/versioning.h
 
 %if INSTALLSTATIC
 f 0444 root sys $LIBDIR/libcups.a cups/libcups.a
-f 0444 root sys $LIBDIR/libcupscgi.a cgi-bin/libcupscgi.a
-f 0444 root sys $LIBDIR/libcupsdriver.a driver/libcupsdriver.a
 f 0444 root sys $LIBDIR/libcupsimage.a filter/libcupsimage.a
-f 0444 root sys $LIBDIR/libcupsmime.a scheduler/libcupsmime.a
-f 0444 root sys $LIBDIR/libcupsppdc.a ppdc/libcupsppdc.a
 %endif
 
 d 0755 root sys $DOCDIR/help -
@@ -598,17 +602,17 @@ f 0444 root sys $DOCDIR/images doc/images/*.png
 f 0444 root sys $DOCDIR/robots.txt doc/robots.txt
 
 # Localized documentation files
-d 0755 root sys $DOCDIR/de
-f 0444 root sys $DOCDIR/de doc/de/*.html
+#d 0755 root sys $DOCDIR/de
+#f 0444 root sys $DOCDIR/de doc/de/*.html
 
-d 0755 root sys $DOCDIR/es
-f 0444 root sys $DOCDIR/es doc/es/*.html
+#d 0755 root sys $DOCDIR/es
+#f 0444 root sys $DOCDIR/es doc/es/*.html
 
 #d 0755 root sys $DOCDIR/et
 #f 0444 root sys $DOCDIR/et doc/et/*.html
 
-d 0755 root sys $DOCDIR/eu
-f 0444 root sys $DOCDIR/eu doc/eu/*.html
+#d 0755 root sys $DOCDIR/eu
+#f 0444 root sys $DOCDIR/eu doc/eu/*.html
 
 #d 0755 root sys $DOCDIR/fr
 #f 0444 root sys $DOCDIR/fr doc/fr/*.html
@@ -617,20 +621,20 @@ f 0444 root sys $DOCDIR/eu doc/eu/*.html
 #f 0444 root sys $DOCDIR/he doc/he/*.html
 #f 0444 root sys $DOCDIR/he/cups.css doc/he/cups.css
 
-d 0755 root sys $DOCDIR/id
-f 0444 root sys $DOCDIR/id doc/id/*.html
+#d 0755 root sys $DOCDIR/id
+#f 0444 root sys $DOCDIR/id doc/id/*.html
 
-d 0755 root sys $DOCDIR/it
-f 0444 root sys $DOCDIR/it doc/it/*.html
+#d 0755 root sys $DOCDIR/it
+#f 0444 root sys $DOCDIR/it doc/it/*.html
 
-d 0755 root sys $DOCDIR/ja
-f 0444 root sys $DOCDIR/ja doc/ja/*.html
+#d 0755 root sys $DOCDIR/ja
+#f 0444 root sys $DOCDIR/ja doc/ja/*.html
 
-d 0755 root sys $DOCDIR/pl
-f 0444 root sys $DOCDIR/pl doc/pl/*.html
+#d 0755 root sys $DOCDIR/pl
+#f 0444 root sys $DOCDIR/pl doc/pl/*.html
 
-d 0755 root sys $DOCDIR/ru
-f 0444 root sys $DOCDIR/ru doc/ru/*.html
+#d 0755 root sys $DOCDIR/ru
+#f 0444 root sys $DOCDIR/ru doc/ru/*.html
 
 #d 0755 root sys $DOCDIR/sv
 #f 0444 root sys $DOCDIR/sv doc/sv/*.html
@@ -659,6 +663,7 @@ f 0444 root sys $MANDIR/man1/lpstat.$MAN1EXT man/lpstat.$MAN1EXT
 f 0444 root sys $MANDIR/man1/lp.$MAN1EXT man/lp.$MAN1EXT
 
 f 0444 root sys $MANDIR/man5/classes.conf.$MAN5EXT man/classes.conf.$MAN5EXT
+f 0444 root sys $MANDIR/man5/cups-snmp.conf.$MAN5EXT man/cups-snmp.conf.$MAN5EXT
 f 0444 root sys $MANDIR/man5/cupsd.conf.$MAN5EXT man/cupsd.conf.$MAN5EXT
 f 0444 root sys $MANDIR/man5/ipptoolfile.$MAN5EXT man/ipptoolfile.$MAN5EXT
 f 0444 root sys $MANDIR/man5/mailto.conf.$MAN5EXT man/mailto.conf.$MAN5EXT
@@ -672,7 +677,7 @@ l 0644 root sys $AMANDIR/man$MAN8DIR/cupsreject.$MAN8EXT cupsaccept.$MAN8EXT
 f 0444 root sys $AMANDIR/man$MAN8DIR/cupsaddsmb.$MAN8EXT man/cupsaddsmb.$MAN8EXT
 f 0444 root sys $AMANDIR/man$MAN8DIR/cupsctl.$MAN8EXT man/cupsctl.$MAN8EXT
 f 0444 root sys $AMANDIR/man$MAN8DIR/cupsfilter.$MAN8EXT man/cupsfilter.$MAN8EXT
-f 0444 root sys $AMANDIR/man$MAN8DIR/cups-polld.$MAN8EXT man/cups-polld.$MAN8EXT
+f 0444 root sys $AMANDIR/man$MAN8DIR/cups-snmp.$MAN8EXT man/cups-snmp.$MAN8EXT
 f 0444 root sys $AMANDIR/man$MAN8DIR/cupsd.$MAN8EXT man/cupsd.$MAN8EXT
 f 0444 root sys $AMANDIR/man$MAN8DIR/cupsenable.$MAN8EXT man/cupsenable.$MAN8EXT
 l 0644 root sys $AMANDIR/man$MAN8DIR/cupsdisable.$MAN8EXT cupsenable.$MAN8EXT
index 6eb682395819dac0ff0e7f61206244f3c5968302..3c8dc7e5ad2b4b6cd7182d22c3cebe4f67f648e2 100644 (file)
@@ -5,7 +5,7 @@
 #
 #   Original version by Jason McMullan <jmcc@ontv.com>.
 #
-#   Copyright 2007-2011 by Apple Inc.
+#   Copyright 2007-2012 by Apple Inc.
 #   Copyright 1999-2007 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
 # Conditional build options (--with name/--without name):
 #
 #   dbus     - Enable/disable DBUS support (default = enable)
+#   dnssd    - Enable/disable DNS-SD support (default = enable)
+#   static   - Enable/disable static libraries (default = enable)
 
 %{!?_with_dbus: %{!?_without_dbus: %define _with_dbus --with-dbus}}
 %{?_with_dbus: %define _dbus --enable-dbus}
 %{!?_with_dbus: %define _dbus --disable-dbus}
 
+%{!?_with_dnssd: %{!?_without_dnssd: %define _without_dnssd --without-dnssd}}
+%{?_with_dnssd: %define _dnssd --enable-dnssd}
+%{!?_with_dnssd: %define _dnssd --disable-dnssd}
+
 %{!?_with_static: %{!?_without_static: %define _without_static --without-static}}
 %{?_with_static: %define _static --enable-static}
 %{!?_with_static: %define _static --disable-static}
@@ -34,7 +40,7 @@ Release: 0
 Epoch: 1
 License: GPL
 Group: System Environment/Daemons
-Source: http://ftp.easysw.com/pub/cups/%{version}/cups-%{version}-source.tar.bz2
+Source: http://ftp.cups.org/pub/cups/%{version}/cups-%{version}-source.tar.bz2
 Url: http://www.cups.org
 Packager: Anonymous <anonymous@foo.com>
 Vendor: Apple Inc.
@@ -67,7 +73,7 @@ Requires: %{name} = %{epoch}:%{version} xinetd
 
 %description
 CUPS is the standards-based, open source printing system developed by
-Apple Inc. for Mac OS® X and other UNIX®-like operating systems.
+Apple Inc. for OS X and other UNIX®-like operating systems.
 
 %description devel
 This package provides the CUPS headers and development environment.
@@ -83,7 +89,7 @@ This package provides LPD client support.
 
 %build
 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" LDFLAGS="$RPM_OPT_FLAGS" \
-    ./configure %{_dbus} %{_static}
+    ./configure %{_dbus} %{_dnssd} %{_static}
 # If we got this far, all prerequisite libraries must be here.
 make
 
@@ -172,6 +178,9 @@ rm -rf $RPM_BUILD_ROOT
 /usr/bin/lp*
 %dir /usr/lib/cups
 %dir /usr/lib/cups/backend
+%if %{?_with_dnssd:1}%{!?_with_dnssd:0}
+/usr/lib/cups/backend/dnssd
+%endif
 /usr/lib/cups/backend/http
 /usr/lib/cups/backend/https
 %attr(0700,root,root) /usr/lib/cups/backend/ipp
index 660b67c83b9cc2dbfb271797dc688c92a47e82ab..bcabc31950797a0541f4d6e37c78db4cddff1cfb 100644 (file)
 ppdc-array.o: ppdc-array.cxx ppdc-private.h ppdc.h ../cups/file.h \
-  ../cups/versioning.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
-  ../cups/string-private.h ../config.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/http-private.h ../cups/md5-private.h ../cups/ipp-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
 ppdc-attr.o: ppdc-attr.cxx ppdc-private.h ppdc.h ../cups/file.h \
-  ../cups/versioning.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
-  ../cups/string-private.h ../config.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/http-private.h ../cups/md5-private.h ../cups/ipp-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
 ppdc-catalog.o: ppdc-catalog.cxx ppdc-private.h ppdc.h ../cups/file.h \
-  ../cups/versioning.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
-  ../cups/string-private.h ../config.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/http-private.h ../cups/md5-private.h ../cups/ipp-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
 ppdc-choice.o: ppdc-choice.cxx ppdc-private.h ppdc.h ../cups/file.h \
-  ../cups/versioning.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
-  ../cups/string-private.h ../config.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/http-private.h ../cups/md5-private.h ../cups/ipp-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
 ppdc-constraint.o: ppdc-constraint.cxx ppdc-private.h ppdc.h \
   ../cups/file.h ../cups/versioning.h ../cups/cups-private.h \
-  ../cups/cups.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
-  ../cups/language.h ../cups/string-private.h ../config.h \
-  ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h \
-  ../cups/pwg-private.h ../cups/http-private.h ../cups/md5-private.h \
-  ../cups/ipp-private.h ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
-ppdc-driver.o: ppdc-driver.cxx ppdc-private.h ppdc.h ../cups/file.h \
-  ../cups/versioning.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
   ../cups/string-private.h ../config.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/http-private.h ../cups/md5-private.h ../cups/ipp-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/ppd-private.h \
+  ../cups/ppd.h ../cups/thread-private.h
+ppdc-driver.o: ppdc-driver.cxx ppdc-private.h ppdc.h ../cups/file.h \
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
 ppdc-file.o: ppdc-file.cxx ppdc-private.h ppdc.h ../cups/file.h \
-  ../cups/versioning.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
-  ../cups/string-private.h ../config.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/http-private.h ../cups/md5-private.h ../cups/ipp-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
 ppdc-filter.o: ppdc-filter.cxx ppdc-private.h ppdc.h ../cups/file.h \
-  ../cups/versioning.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
-  ../cups/string-private.h ../config.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/http-private.h ../cups/md5-private.h ../cups/ipp-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
 ppdc-font.o: ppdc-font.cxx ppdc-private.h ppdc.h ../cups/file.h \
-  ../cups/versioning.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
-  ../cups/string-private.h ../config.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/http-private.h ../cups/md5-private.h ../cups/ipp-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
 ppdc-group.o: ppdc-group.cxx ppdc-private.h ppdc.h ../cups/file.h \
-  ../cups/versioning.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
-  ../cups/string-private.h ../config.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/http-private.h ../cups/md5-private.h ../cups/ipp-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
 ppdc-import.o: ppdc-import.cxx ppdc-private.h ppdc.h ../cups/file.h \
-  ../cups/versioning.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
-  ../cups/string-private.h ../config.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/http-private.h ../cups/md5-private.h ../cups/ipp-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
 ppdc-mediasize.o: ppdc-mediasize.cxx ppdc-private.h ppdc.h ../cups/file.h \
-  ../cups/versioning.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
-  ../cups/string-private.h ../config.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/http-private.h ../cups/md5-private.h ../cups/ipp-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
 ppdc-message.o: ppdc-message.cxx ppdc-private.h ppdc.h ../cups/file.h \
-  ../cups/versioning.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
-  ../cups/string-private.h ../config.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/http-private.h ../cups/md5-private.h ../cups/ipp-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
 ppdc-option.o: ppdc-option.cxx ppdc-private.h ppdc.h ../cups/file.h \
-  ../cups/versioning.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
-  ../cups/string-private.h ../config.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/http-private.h ../cups/md5-private.h ../cups/ipp-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
 ppdc-profile.o: ppdc-profile.cxx ppdc-private.h ppdc.h ../cups/file.h \
-  ../cups/versioning.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
-  ../cups/string-private.h ../config.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/http-private.h ../cups/md5-private.h ../cups/ipp-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
 ppdc-shared.o: ppdc-shared.cxx ppdc-private.h ppdc.h ../cups/file.h \
-  ../cups/versioning.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
-  ../cups/string-private.h ../config.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/http-private.h ../cups/md5-private.h ../cups/ipp-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
 ppdc-source.o: ppdc-source.cxx ppdc-private.h ppdc.h ../cups/file.h \
-  ../cups/versioning.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
-  ../cups/string-private.h ../config.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/http-private.h ../cups/md5-private.h ../cups/ipp-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h ../cups/raster.h ../data/epson.h ../data/hp.h \
-  ../data/label.h
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/raster.h ../data/epson.h ../data/hp.h ../data/label.h
 ppdc-string.o: ppdc-string.cxx ppdc-private.h ppdc.h ../cups/file.h \
-  ../cups/versioning.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
-  ../cups/string-private.h ../config.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/http-private.h ../cups/md5-private.h ../cups/ipp-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
 ppdc-variable.o: ppdc-variable.cxx ppdc-private.h ppdc.h ../cups/file.h \
-  ../cups/versioning.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
-  ../cups/string-private.h ../config.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/http-private.h ../cups/md5-private.h ../cups/ipp-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
 genstrings.o: genstrings.cxx ppdc-private.h ppdc.h ../cups/file.h \
-  ../cups/versioning.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
-  ../cups/string-private.h ../config.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/http-private.h ../cups/md5-private.h ../cups/ipp-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
 ppdc.o: ppdc.cxx ppdc-private.h ppdc.h ../cups/file.h \
-  ../cups/versioning.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
-  ../cups/string-private.h ../config.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/http-private.h ../cups/md5-private.h ../cups/ipp-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
 ppdhtml.o: ppdhtml.cxx ppdc-private.h ppdc.h ../cups/file.h \
-  ../cups/versioning.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
-  ../cups/string-private.h ../config.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/http-private.h ../cups/md5-private.h ../cups/ipp-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
 ppdi.o: ppdi.cxx ppdc-private.h ppdc.h ../cups/file.h \
-  ../cups/versioning.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
-  ../cups/string-private.h ../config.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/http-private.h ../cups/md5-private.h ../cups/ipp-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
-ppdmerge.o: ppdmerge.cxx ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+ppdmerge.o: ppdmerge.cxx ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
 ppdpo.o: ppdpo.cxx ppdc-private.h ppdc.h ../cups/file.h \
-  ../cups/versioning.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
-  ../cups/string-private.h ../config.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/http-private.h ../cups/md5-private.h ../cups/ipp-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
 testcatalog.o: testcatalog.cxx ppdc-private.h ppdc.h ../cups/file.h \
-  ../cups/versioning.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
-  ../cups/string-private.h ../config.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/http-private.h ../cups/md5-private.h ../cups/ipp-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
+  ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
index acf178b29a67264431394e3e51e1d2ef5b87f34a..f709d75e17aefe1cfa32b1d182ed05ab5a961d5b 100644 (file)
@@ -3,7 +3,7 @@
 //
 //   Shared message catalog class for the CUPS PPD Compiler.
 //
-//   Copyright 2007-2010 by Apple Inc.
+//   Copyright 2007-2012 by Apple Inc.
 //   Copyright 2002-2006 by Easy Software Products.
 //
 //   These coded instructions, statements, and computer programs are the
@@ -206,8 +206,8 @@ ppdcCatalog::load_messages(
   else if (!strcmp(ptr, ".strings"))
   {
    /*
-    * Read messages in Mac OS X ".strings" format, which are UTF-16 text
-    * files of the format:
+    * Read messages in OS X ".strings" format, which are UTF-16 text files of
+    * the format:
     *
     *     "id" = "str";
     *
@@ -318,7 +318,7 @@ ppdcCatalog::load_messages(
     int        which,                          // In msgid?
        haveid,                         // Did we get a msgid string?
        havestr;                        // Did we get a msgstr string?
-               
+
     linenum = 0;
     id[0]   = '\0';
     str[0]  = '\0';
index d8d128db8beee424a7df9ac678ea2cfa2792de9d..b302c8acae99a130262e7318c69e356d9d5cf691 100644 (file)
@@ -3,7 +3,7 @@
 //
 //   PPD file compiler main entry for the CUPS PPD Compiler.
 //
-//   Copyright 2007-2011 by Apple Inc.
+//   Copyright 2007-2012 by Apple Inc.
 //   Copyright 2002-2007 by Easy Software Products.
 //
 //   These coded instructions, statements, and computer programs are the
@@ -449,8 +449,7 @@ usage(void)
                           "as the filename."));
   _cupsLangPuts(stdout, _("  -t                      Test PPDs instead of "
                           "generating them."));
-  _cupsLangPuts(stdout, _("  -v                      Be verbose (more v's for "
-                          "more verbosity)."));
+  _cupsLangPuts(stdout, _("  -v                      Be verbose."));
   _cupsLangPuts(stdout, _("  -z                      Compress PPD files using "
                           "GNU zip."));
   _cupsLangPuts(stdout, _("  --cr                    End lines with CR (Mac "
@@ -458,7 +457,7 @@ usage(void)
   _cupsLangPuts(stdout, _("  --crlf                  End lines with CR + LF "
                           "(Windows)."));
   _cupsLangPuts(stdout, _("  --lf                    End lines with LF "
-                          "(UNIX/Linux/Mac OS X)."));
+                          "(UNIX/Linux/OS X)."));
 
   exit(1);
 }
index bdf0f7c0529a11424c9e87f8dd8834aacb4d4738..01513fd55f83ed621228136dfb8ee81e54a4ddff 100644 (file)
@@ -3,7 +3,7 @@
 //
 //   PPD file message catalog program for the CUPS PPD Compiler.
 //
-//   Copyright 2007-2011 by Apple Inc.
+//   Copyright 2007-2012 by Apple Inc.
 //   Copyright 2002-2005 by Easy Software Products.
 //
 //   These coded instructions, statements, and computer programs are the
@@ -256,8 +256,7 @@ usage(void)
                           "value."));
   _cupsLangPuts(stdout, _("  -I include-dir          Add include directory to "
                           "search path."));
-  _cupsLangPuts(stdout, _("  -v                      Be verbose (more v's for "
-                          "more verbosity)."));
+  _cupsLangPuts(stdout, _("  -v                      Be verbose."));
 
   exit(1);
 }
index 1af2a68474b25beee83f5d1eac4cf8cd07c26547..2b7e02afb8c2d3477e41660a6c2b5a833b4801c5 100644 (file)
 //#po zh_TW ""
 
 // MediaSize sizes used by label drivers...
-#media "w81h252/Address - 1 1/8 x 3 1/2\"" 81 252
-#media "w101h252/Large Address - 1 4/10 x 3 1/2\"" 101 252
-#media "w54h144/Return Address - 3/4 x 2\"" 54 144
-#media "w167h288/Shipping Address - 2 5/16 x 4\"" 167 288
-#media "w162h540/Internet Postage 2-Part - 2 1/4 x 7 1/2\"" 162 540
-#media "w162h504/Internet Postage 3-Part - 2 1/4 x 7\"" 162 504
-#media "w41h248/File Folder - 9/16 x 3 7/16\"" 41 248
-#media "w41h144/Hanging Folder - 9/16 x 2\"" 41 144
-#media "w153h198/3.5\" Disk - 2 1/8 x 2 3/4\"" 153 198
 #media "w90h18/1.25x0.25\"" 90 18
 #media "w90h162/1.25x2.25\"" 90 162
 #media "w108h18/1.50x0.25\"" 108 18
@@ -117,7 +108,7 @@ Attribute "FileSystem" "" "False"
 Attribute "LandscapeOrientation" "" "Plus90"
 Attribute "TTRasterizer" "" "Type42"
 
-Copyright "Copyright 2007-2011 by Apple Inc."
+Copyright "Copyright 2007-2012 by Apple Inc."
 Copyright "Copyright 1997-2007 by Easy Software Products."
 Copyright ""
 Copyright "These coded instructions, statements, and computer programs are the"
index 8fc424f99fdc5b3aa2a0accab5a05cfd2ff6c817..20356462d200fb03ef8c1dac6a8ed660dac0932a 100644 (file)
-auth.o: auth.c cupsd.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h \
-  mime.h sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \
-  classes.h job.h conf.h banners.h dirsvc.h network.h subscriptions.h
-banners.o: banners.c cupsd.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h \
-  mime.h sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \
-  classes.h job.h conf.h banners.h dirsvc.h network.h subscriptions.h \
-  ../cups/dir.h
-cert.o: cert.c cupsd.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h \
-  mime.h sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \
-  classes.h job.h conf.h banners.h dirsvc.h network.h subscriptions.h
-classes.o: classes.c cupsd.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h \
-  mime.h sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \
-  classes.h job.h conf.h banners.h dirsvc.h network.h subscriptions.h
-client.o: client.c cupsd.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h \
-  mime.h sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \
-  classes.h job.h conf.h banners.h dirsvc.h network.h subscriptions.h
-conf.o: conf.c cupsd.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h \
-  mime.h sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \
-  classes.h job.h conf.h banners.h dirsvc.h network.h subscriptions.h
-dirsvc.o: dirsvc.c cupsd.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h \
-  mime.h sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \
-  classes.h job.h conf.h banners.h dirsvc.h network.h subscriptions.h
-env.o: env.c cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h \
-  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
-  ../cups/language.h ../cups/string-private.h ../config.h \
-  ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h \
-  ../cups/pwg-private.h ../cups/http-private.h ../cups/md5-private.h \
-  ../cups/ipp-private.h ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h ../cups/file-private.h mime.h sysman.h \
-  statbuf.h cert.h auth.h client.h policy.h printers.h classes.h job.h \
-  conf.h banners.h dirsvc.h network.h subscriptions.h
-file.o: file.c cupsd.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h \
-  mime.h sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \
-  classes.h job.h conf.h banners.h dirsvc.h network.h subscriptions.h \
-  ../cups/dir.h
-main.o: main.c cupsd.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h \
-  mime.h sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \
-  classes.h job.h conf.h banners.h dirsvc.h network.h subscriptions.h
-ipp.o: ipp.c cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h \
-  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
-  ../cups/language.h ../cups/string-private.h ../config.h \
-  ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h \
-  ../cups/pwg-private.h ../cups/http-private.h ../cups/md5-private.h \
-  ../cups/ipp-private.h ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h ../cups/file-private.h mime.h sysman.h \
-  statbuf.h cert.h auth.h client.h policy.h printers.h classes.h job.h \
-  conf.h banners.h dirsvc.h network.h subscriptions.h
-listen.o: listen.c cupsd.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h \
-  mime.h sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \
-  classes.h job.h conf.h banners.h dirsvc.h network.h subscriptions.h
-job.o: job.c cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h \
-  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
-  ../cups/language.h ../cups/string-private.h ../config.h \
-  ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h \
-  ../cups/pwg-private.h ../cups/http-private.h ../cups/md5-private.h \
-  ../cups/ipp-private.h ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h ../cups/file-private.h mime.h sysman.h \
-  statbuf.h cert.h auth.h client.h policy.h printers.h classes.h job.h \
-  conf.h banners.h dirsvc.h network.h subscriptions.h ../cups/backend.h \
-  ../cups/dir.h
-log.o: log.c cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h \
-  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
-  ../cups/language.h ../cups/string-private.h ../config.h \
-  ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h \
-  ../cups/pwg-private.h ../cups/http-private.h ../cups/md5-private.h \
-  ../cups/ipp-private.h ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h ../cups/file-private.h mime.h sysman.h \
-  statbuf.h cert.h auth.h client.h policy.h printers.h classes.h job.h \
-  conf.h banners.h dirsvc.h network.h subscriptions.h
+auth.o: auth.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+avahi.o: avahi.c ../config.h
+banners.o: banners.c cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h ../cups/dir.h
+cert.o: cert.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+classes.o: classes.c cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+client.o: client.c cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+conf.o: conf.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+dirsvc.o: dirsvc.c cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+env.o: env.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+file.o: file.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h ../cups/dir.h
+main.o: main.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+ipp.o: ipp.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+listen.o: listen.c cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+job.o: job.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h ../cups/backend.h ../cups/dir.h
+log.o: log.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
 network.o: network.c ../cups/http-private.h ../config.h ../cups/http.h \
   ../cups/versioning.h ../cups/array.h ../cups/md5-private.h \
   ../cups/ipp-private.h ../cups/ipp.h cupsd.h ../cups/cups-private.h \
-  ../cups/cups.h ../cups/file.h ../cups/language.h \
-  ../cups/string-private.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h \
-  mime.h sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \
-  classes.h job.h conf.h banners.h dirsvc.h network.h subscriptions.h
-policy.o: policy.c cupsd.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h \
-  mime.h sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \
-  classes.h job.h conf.h banners.h dirsvc.h network.h subscriptions.h
-printers.o: printers.c cupsd.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h \
-  mime.h sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \
-  classes.h job.h conf.h banners.h dirsvc.h network.h subscriptions.h \
-  ../cups/dir.h
-process.o: process.c cupsd.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h \
-  mime.h sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \
-  classes.h job.h conf.h banners.h dirsvc.h network.h subscriptions.h
-quotas.o: quotas.c cupsd.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h \
-  mime.h sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \
-  classes.h job.h conf.h banners.h dirsvc.h network.h subscriptions.h
-select.o: select.c cupsd.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h \
-  mime.h sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \
-  classes.h job.h conf.h banners.h dirsvc.h network.h subscriptions.h
+  ../cups/string-private.h ../cups/debug-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+policy.o: policy.c cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+printers.o: printers.c cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h ../cups/dir.h
+process.o: process.c cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+quotas.o: quotas.c cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+select.o: select.c cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
 server.o: server.c ../cups/http-private.h ../config.h ../cups/http.h \
   ../cups/versioning.h ../cups/array.h ../cups/md5-private.h \
   ../cups/ipp-private.h ../cups/ipp.h cupsd.h ../cups/cups-private.h \
-  ../cups/cups.h ../cups/file.h ../cups/language.h \
-  ../cups/string-private.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h \
-  mime.h sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \
-  classes.h job.h conf.h banners.h dirsvc.h network.h subscriptions.h
-statbuf.o: statbuf.c cupsd.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h \
-  mime.h sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \
-  classes.h job.h conf.h banners.h dirsvc.h network.h subscriptions.h
+  ../cups/string-private.h ../cups/debug-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+statbuf.o: statbuf.c cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
 subscriptions.o: subscriptions.c cupsd.h ../cups/cups-private.h \
-  ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h \
-  ../cups/http.h ../cups/array.h ../cups/language.h \
   ../cups/string-private.h ../config.h ../cups/debug-private.h \
-  ../cups/ppd-private.h ../cups/ppd.h ../cups/pwg-private.h \
-  ../cups/http-private.h ../cups/md5-private.h ../cups/ipp-private.h \
-  ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h ../cups/file-private.h mime.h sysman.h \
-  statbuf.h cert.h auth.h client.h policy.h printers.h classes.h job.h \
-  conf.h banners.h dirsvc.h network.h subscriptions.h
-sysman.o: sysman.c cupsd.h ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h \
-  mime.h sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \
-  classes.h job.h conf.h banners.h dirsvc.h network.h subscriptions.h
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+sysman.o: sysman.c cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+timeout.o: timeout.c cupsd.h ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h
+tls.o: tls.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \
+  client.h policy.h printers.h classes.h job.h conf.h banners.h dirsvc.h \
+  network.h subscriptions.h tls-darwin.c
 filter.o: filter.c ../cups/string-private.h ../config.h \
   ../cups/debug-private.h ../cups/versioning.h mime.h ../cups/array.h \
   ../cups/ipp.h ../cups/http.h ../cups/file.h
@@ -229,30 +269,31 @@ mime.o: mime.c ../cups/string-private.h ../config.h \
 type.o: type.c ../cups/string-private.h ../config.h \
   ../cups/debug-private.h ../cups/versioning.h mime.h ../cups/array.h \
   ../cups/ipp.h ../cups/http.h ../cups/file.h
-cupsfilter.o: cupsfilter.c ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/file-private.h \
-  mime.h
+cupsfilter.o: cupsfilter.c ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h mime.h
 cups-deviced.o: cups-deviced.c util.h ../cups/array-private.h \
   ../cups/array.h ../cups/versioning.h ../cups/file-private.h \
-  ../cups/cups-private.h ../cups/cups.h ../cups/file.h ../cups/ipp.h \
-  ../cups/http.h ../cups/language.h ../cups/string-private.h ../config.h \
-  ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h \
-  ../cups/pwg-private.h ../cups/http-private.h ../cups/md5-private.h \
-  ../cups/ipp-private.h ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h ../cups/dir.h
+  ../cups/cups-private.h ../cups/string-private.h ../config.h \
+  ../cups/debug-private.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/dir.h
 cups-exec.o: cups-exec.c ../cups/string-private.h ../config.h
-cups-lpd.o: cups-lpd.c ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h
+cups-lpd.o: cups-lpd.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
 testlpd.o: testlpd.c ../cups/cups.h ../cups/file.h ../cups/versioning.h \
   ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \
   ../cups/string-private.h ../config.h
@@ -271,17 +312,18 @@ testsub.o: testsub.c ../cups/cups.h ../cups/file.h ../cups/versioning.h \
   ../cups/ipp-private.h
 util.o: util.c util.h ../cups/array-private.h ../cups/array.h \
   ../cups/versioning.h ../cups/file-private.h ../cups/cups-private.h \
-  ../cups/cups.h ../cups/file.h ../cups/ipp.h ../cups/http.h \
-  ../cups/language.h ../cups/string-private.h ../config.h \
-  ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h \
-  ../cups/pwg-private.h ../cups/http-private.h ../cups/md5-private.h \
-  ../cups/ipp-private.h ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
 cups-driverd.o: cups-driverd.cxx util.h ../cups/array-private.h \
   ../cups/array.h ../cups/versioning.h ../cups/file-private.h \
-  ../cups/cups-private.h ../cups/cups.h ../cups/file.h ../cups/ipp.h \
-  ../cups/http.h ../cups/language.h ../cups/string-private.h ../config.h \
-  ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h \
-  ../cups/pwg-private.h ../cups/http-private.h ../cups/md5-private.h \
-  ../cups/ipp-private.h ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h ../cups/dir.h ../ppdc/ppdc.h
+  ../cups/cups-private.h ../cups/string-private.h ../config.h \
+  ../cups/debug-private.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/dir.h ../ppdc/ppdc.h
index 53b2bfc72d15ee83b7df0832b1ba1c5ca422331e..2fa6090f5157b09ac6c1245945caaec2171e287f 100644 (file)
@@ -17,7 +17,6 @@ include ../Makedefs
 
 CUPSDOBJS =    \
                auth.o \
-               avahi.o \
                banners.o \
                cert.o \
                classes.o \
@@ -41,7 +40,6 @@ CUPSDOBJS =   \
                statbuf.o \
                subscriptions.o \
                sysman.o \
-               timeout.o \
                tls.o
 LIBOBJS =      \
                filter.o \
diff --git a/scheduler/avahi.c b/scheduler/avahi.c
deleted file mode 100644 (file)
index 5761317..0000000
+++ /dev/null
@@ -1,441 +0,0 @@
-/*
- * "$Id$"
- *
- *   Avahi poll implementation for the CUPS scheduler.
- *
- *   Copyright (C) 2010, 2011 Red Hat, Inc.
- *   Authors:
- *    Tim Waugh <twaugh@redhat.com>
- *
- *   Redistribution and use in source and binary forms, with or without
- *   modification, are permitted provided that the following conditions
- *   are met:
- *
- *   Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- *   Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- *   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- *   COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- *   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- *   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- *   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- *   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- *   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- *   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- *   OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Contents:
- *
- *   watch_read_cb         - Read callback for file descriptor
- *   watch_write_cb        - Write callback for file descriptor
- *   watched_fd_add_select() - Call cupsdAddSelect() as needed
- *   watch_new()           - Create a new file descriptor watch
- *   watch_free()          - Free a file descriptor watch
- *   watch_update()        - Update watched events for a file descriptor
- *   watch_get_events()    - Get events that happened for a file descriptor
- *   timeout_cb()          - Run a timed Avahi callback
- *   timeout_new()         - Set a wakeup time
- *   timeout_update()      - Update the expiration time for a timeout
- *   timeout_free()        - Free a timeout
- *   compare_watched_fds() - Compare watched file descriptors for array sorting
- *   avahi_cups_poll_new() - Create a new Avahi main loop object for CUPS
- *   avahi_cups_poll_free() - Free an Avahi main loop object for CUPS
- *   avahi_cups_poll_get() - Get the abstract poll API structure
- */
-
-#include <config.h>
-
-#ifdef HAVE_AVAHI /* Applies to entire file... */
-
-/*
- * Include necessary headers...
- */
-
-#include "cupsd.h"
-
-#if defined(HAVE_MALLOC_H) && defined(HAVE_MALLINFO)
-#  include <malloc.h>
-#endif /* HAVE_MALLOC_H && HAVE_MALLINFO */
-
-#ifdef HAVE_AVAHI
-#  include <avahi-common/timeval.h>
-#endif /* HAVE_AVAHI */
-
-
-typedef struct
-{
-  AvahiCupsPoll *cups_poll;
-
-  int fd;
-  AvahiWatchEvent occurred;
-  cups_array_t *watches;
-} cupsd_watched_fd_t;
-
-struct AvahiWatch
-{
-  cupsd_watched_fd_t *watched_fd;
-
-  AvahiWatchEvent events;
-  AvahiWatchCallback callback;
-  void *userdata;
-};
-
-struct AvahiTimeout
-{
-  AvahiCupsPoll *cups_poll;
-  AvahiTimeoutCallback callback;
-  void *userdata;
-  cupsd_timeout_t *cupsd_timeout;
-};
-
-/*
- * Local functions...
- */
-
-static AvahiWatch *    watch_new(const AvahiPoll *api,
-                                 int fd,
-                                 AvahiWatchEvent events,
-                                 AvahiWatchCallback callback,
-                                 void *userdata);
-static void            watch_free(AvahiWatch *watch);
-static void            watch_update(AvahiWatch *watch,
-                                    AvahiWatchEvent events);
-static AvahiWatchEvent watch_get_events(AvahiWatch *watch);
-
-
-/*
- * 'watch_read_cb' - Read callback for file descriptor
- */
-
-static void
-watch_read_cb (void *userdata)
-{
-  AvahiWatch *watch;
-  cupsd_watched_fd_t *watched_fd = userdata;
-  watched_fd->occurred |= AVAHI_WATCH_IN;
-  for (watch = (AvahiWatch *)cupsArrayFirst(watched_fd->watches);
-       watch;
-       watch = (AvahiWatch *)cupsArrayNext(watched_fd->watches))
-  {
-    if (watch->events & watched_fd->occurred)
-    {
-      (watch->callback) (watch, watched_fd->fd,
-                        AVAHI_WATCH_IN, watch->userdata);
-      watched_fd->occurred &= ~AVAHI_WATCH_IN;
-      break;
-    }
-  }
-}
-
-
-/*
- * 'watch_write_cb' - Write callback for file descriptor
- */
-
-static void
-watch_write_cb (void *userdata)
-{
-  AvahiWatch *watch;
-  cupsd_watched_fd_t *watched_fd = userdata;
-  watched_fd->occurred |= AVAHI_WATCH_OUT;
-  for (watch = (AvahiWatch *)cupsArrayFirst(watched_fd->watches);
-       watch;
-       watch = (AvahiWatch *)cupsArrayNext(watched_fd->watches))
-  {
-    if (watch->events & watched_fd->occurred)
-    {
-      (watch->callback) (watch, watched_fd->fd,
-                        AVAHI_WATCH_OUT, watch->userdata);
-      watched_fd->occurred &= ~AVAHI_WATCH_OUT;
-      break;
-    }
-  }
-}
-
-
-/*
- * 'watched_fd_add_select' - Call cupsdAddSelect() as needed
- */
-
-static int                                             /* O - Watches? */
-watched_fd_add_select (cupsd_watched_fd_t *watched_fd)
-{
-  AvahiWatch *watch;
-  cupsd_selfunc_t read_cb = NULL, write_cb = NULL;
-  int any_watches = 0;
-
-  for (watch = (AvahiWatch *)cupsArrayFirst(watched_fd->watches);
-       watch;
-       watch = (AvahiWatch *)cupsArrayNext(watched_fd->watches))
-  {
-    any_watches = 1;
-    if (watch->events & (AVAHI_WATCH_IN |
-                            AVAHI_WATCH_ERR |
-                            AVAHI_WATCH_HUP))
-    {
-      read_cb = (cupsd_selfunc_t)watch_read_cb;
-      if (write_cb != NULL)
-       break;
-    }
-
-    if (watch->events & AVAHI_WATCH_OUT)
-    {
-      write_cb = (cupsd_selfunc_t)watch_write_cb;
-      if (read_cb != NULL)
-       break;
-    }
-  }
-
-  if (read_cb || write_cb)
-    cupsdAddSelect (watched_fd->fd, read_cb, write_cb, watched_fd);
-  else
-    cupsdRemoveSelect (watched_fd->fd);
-
-  return (any_watches);
-}
-
-/*
- * 'watch_new' - Create a new file descriptor watch
- */
-
-static AvahiWatch *
-watch_new (const AvahiPoll *api,
-          int fd,
-          AvahiWatchEvent events,
-          AvahiWatchCallback callback,
-          void *userdata)
-{
-  cupsd_watched_fd_t key, *watched_fd;
-  AvahiCupsPoll *cups_poll = api->userdata;
-  AvahiWatch *watch = malloc(sizeof(AvahiWatch));
-  if (watch == NULL)
-    return (NULL);
-
-  watch->events = events;
-  watch->callback = callback;
-  watch->userdata = userdata;
-
-  key.fd = fd;
-  watched_fd = cupsArrayFind (cups_poll->watched_fds, &key);
-  if (watched_fd == NULL)
-  {
-    watched_fd = malloc(sizeof(cupsd_watched_fd_t));
-    if (watched_fd == NULL)
-    {
-      free (watch);
-      return (NULL);
-    }
-
-    watched_fd->fd = fd;
-    watched_fd->occurred = 0;
-    watched_fd->cups_poll = cups_poll;
-    watched_fd->watches = cupsArrayNew (NULL, NULL);
-    cupsArrayAdd (cups_poll->watched_fds, watched_fd);
-  }
-
-  watch->watched_fd = watched_fd;
-  cupsArrayAdd(watched_fd->watches, watch);
-  watched_fd_add_select (watched_fd);
-  return (watch);
-}
-
-
-/*
- * 'watch_free' - Free a file descriptor watch
- */
-
-static void
-watch_free (AvahiWatch *watch)
-{
-  cupsd_watched_fd_t *watched_fd = watch->watched_fd;
-  AvahiCupsPoll *cups_poll = watched_fd->cups_poll;
-
-  cupsArrayRemove (watched_fd->watches, watch);
-  free (watch);
-
-  if (!watched_fd_add_select (watched_fd))
-  {
-    /* No more watches */
-    cupsArrayRemove (cups_poll->watched_fds, watched_fd);
-    free (watched_fd);
-  }
-}
-
-
-/*
- * 'watch_update' - Update watched events for a file descriptor
- */
-
-static void
-watch_update (AvahiWatch *watch,
-             AvahiWatchEvent events)
-{
-  watch->events = events;
-  watched_fd_add_select (watch->watched_fd);
-}
-
-
-/*
- * 'watch_get_events' - Get events that happened for a file descriptor
- */
-
-static AvahiWatchEvent
-watch_get_events (AvahiWatch *watch)
-{
-  return (watch->watched_fd->occurred);
-}
-
-
-/*
- * 'timeout_cb()' - Run a timed Avahi callback
- */
-
-static void
-timeout_cb (cupsd_timeout_t *cupsd_timeout, void *userdata)
-{
-  AvahiTimeout *timeout = userdata;
-  (timeout->callback) (timeout, timeout->userdata);
-}
-
-
-/*
- * 'timeout_new' - Set a wakeup time
- */
-
-static AvahiTimeout *
-timeout_new (const AvahiPoll *api,
-            const struct timeval *tv,
-            AvahiTimeoutCallback callback,
-            void *userdata)
-{
-  AvahiTimeout *timeout;
-  AvahiCupsPoll *cups_poll = api->userdata;
-
-  timeout = malloc(sizeof(AvahiTimeout));
-  if (timeout == NULL)
-    return (NULL);
-
-  timeout->cups_poll = cups_poll;
-  timeout->callback = callback;
-  timeout->userdata = userdata;
-  timeout->cupsd_timeout = cupsdAddTimeout (tv,
-                                           (cupsd_timeoutfunc_t)timeout_cb,
-                                           timeout);
-  cupsArrayAdd (cups_poll->timeouts, timeout);
-  return (timeout);
-}
-
-
-/*
- * 'timeout_update' - Update the expiration time for a timeout
- */
-
-static void
-timeout_update (AvahiTimeout *timeout,
-               const struct timeval *tv)
-{
-  cupsdUpdateTimeout (timeout->cupsd_timeout, tv);
-}
-
-
-/*
- * ' timeout_free' - Free a timeout
- */
-
-static void
-timeout_free (AvahiTimeout *timeout)
-{
-  cupsArrayRemove (timeout->cups_poll->timeouts, timeout);
-  cupsdRemoveTimeout (timeout->cupsd_timeout);
-  free (timeout);
-}
-
-
-/*
- * 'compare_watched_fds' - Compare watched file descriptors for array sorting
- */
-static int
-compare_watched_fds(cupsd_watched_fd_t *p0,
-                   cupsd_watched_fd_t *p1)
-{
-  /*
-   * Compare by fd (no two elements have the same fd)
-   */
-
-  if (p0->fd == p1->fd)
-    return 0;
-
-  return (p0->fd < p1->fd ? -1 : 1);
-}
-
-
-/*
- * 'avahi_cups_poll_new' - Create a new Avahi main loop object for CUPS
- */
-
-AvahiCupsPoll *
-avahi_cups_poll_new (void)
-{
-  AvahiCupsPoll *cups_poll = malloc(sizeof(AvahiCupsPoll));
-  if (cups_poll == NULL)
-    return (NULL);
-
-  cups_poll->watched_fds = cupsArrayNew ((cups_array_func_t)compare_watched_fds,
-                                        NULL);
-  cups_poll->timeouts = cupsArrayNew (NULL, NULL);
-
-  cups_poll->api.userdata = cups_poll;
-  cups_poll->api.watch_new = watch_new;
-  cups_poll->api.watch_free = watch_free;
-  cups_poll->api.watch_update = watch_update;
-  cups_poll->api.watch_get_events = watch_get_events;
-
-  cups_poll->api.timeout_new = timeout_new;
-  cups_poll->api.timeout_update = timeout_update;
-  cups_poll->api.timeout_free = timeout_free;
-
-  return (cups_poll);
-}
-
-
-/*
- * 'avahi_cups_poll_free' - Free an Avahi main loop object for CUPS
- */
-void
-avahi_cups_poll_free (AvahiCupsPoll *cups_poll)
-{
-  cupsd_watched_fd_t *watched_fd;
-
-  for (watched_fd = (cupsd_watched_fd_t*)cupsArrayFirst(cups_poll->watched_fds);
-       watched_fd;
-       watched_fd = (cupsd_watched_fd_t*)cupsArrayNext(cups_poll->watched_fds))
-    cupsArrayClear (watched_fd->watches);
-
-  cupsArrayClear (cups_poll->watched_fds);
-  cupsArrayClear (cups_poll->timeouts);
-}
-
-
-/*
- * 'avahi_cups_poll_get' - Get the abstract poll API structure
- */
-
-const AvahiPoll *
-avahi_cups_poll_get (AvahiCupsPoll *cups_poll)
-{
-  return (&cups_poll->api);
-}
-
-
-#endif /* HAVE_AVAHI ... from top of file */
-
-/*
- * End of "$Id$".
- */
diff --git a/scheduler/avahi.h b/scheduler/avahi.h
deleted file mode 100644 (file)
index d92049d..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * "$Id$"
- *
- *   Avahi poll implementation for the CUPS scheduler.
- *
- *   Copyright (C) 2010, 2011 Red Hat, Inc.
- *   Authors:
- *    Tim Waugh <twaugh@redhat.com>
- *
- *   Redistribution and use in source and binary forms, with or without
- *   modification, are permitted provided that the following conditions
- *   are met:
- *
- *   Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- *   Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- *   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- *   COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- *   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- *   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- *   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- *   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- *   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- *   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- *   OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <config.h>
-
-#ifdef HAVE_AVAHI
-#  include <avahi-client/client.h>
-#  include <avahi-client/publish.h>
-#endif /* HAVE_AVAHI */
-
-#ifdef HAVE_AUTHORIZATION_H
-#  include <Security/Authorization.h>
-#endif /* HAVE_AUTHORIZATION_H */
-
-
-#ifdef HAVE_AVAHI
-typedef struct
-{
-    AvahiPoll api;
-    cups_array_t *watched_fds;
-    cups_array_t *timeouts;
-} AvahiCupsPoll;
-#endif /* HAVE_AVAHI */
-
-/*
- * Prototypes...
- */
-
-#ifdef HAVE_AVAHI
-extern AvahiCupsPoll * avahi_cups_poll_new(void);
-extern void            avahi_cups_poll_free(AvahiCupsPoll *cups_poll);
-extern const AvahiPoll *avahi_cups_poll_get(AvahiCupsPoll *cups_poll);
-#endif /* HAVE_AVAHI */
-
-
-/*
- * End of "$Id$".
- */
index 17e1312af94f74037554d9d7a944ef66514a8da2..31d12cc619db7111a0967b161b6a3ff43395f90a 100644 (file)
@@ -2591,7 +2591,7 @@ cupsdSendHeader(
       * requests when the request requires system group membership - then the
       * client knows the root certificate can/should be used.
       *
-      * Also, for Mac OS X we also look for @AUTHKEY and add an "authkey"
+      * Also, for OS X we also look for @AUTHKEY and add an "authkey"
       * parameter as needed...
       */
 
index 999e4719cfeec441a91a6aac82a52b3fff1bc34f..4d392452b3d9c48b5e89f4fe2504afd9ee4e2375 100644 (file)
@@ -90,7 +90,7 @@ static const cupsd_var_t      variables[] =
   { "AccessLog",               &AccessLog,             CUPSD_VARTYPE_STRING },
   { "AutoPurgeJobs",           &JobAutoPurge,          CUPSD_VARTYPE_BOOLEAN },
 #ifdef HAVE_DNSSD
-  { "BrowseDNSSDRegType",      &DNSSDRegType,          CUPSD_VARTYPE_STRING },
+  { "BrowseDNSSDSubTypes",     &DNSSDSubTypes,         CUPSD_VARTYPE_STRING },
 #endif /* HAVE_DNSSD */
   { "BrowseWebIF",             &BrowseWebIF,           CUPSD_VARTYPE_BOOLEAN },
   { "Browsing",                        &Browsing,              CUPSD_VARTYPE_BOOLEAN },
@@ -734,7 +734,7 @@ cupsdReadConfiguration(void)
   DefaultShared            = CUPS_DEFAULT_DEFAULT_SHARED;
 
 #ifdef HAVE_DNSSD
-  cupsdSetString(&DNSSDRegType, "_ipp._tcp,_cups");
+  cupsdSetString(&DNSSDSubTypes, "_cups,_print");
 #endif /* HAVE_DNSSD */
 
   cupsdSetString(&LPDConfigFile, CUPS_DEFAULT_LPD_CONFIG_FILE);
index 41232d9075dc957b8fad5b1fdaf9c0b616ed422d..5edfde429daf521de286ec536717f567a764fd69 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Configuration file definitions for the CUPS scheduler.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -69,7 +69,7 @@ typedef enum
 
 #define PRINTCAP_BSD           0       /* Berkeley LPD format */
 #define PRINTCAP_SOLARIS       1       /* Solaris lpsched format */
-#define PRINTCAP_PLIST         2       /* Mac OS X plist format */
+#define PRINTCAP_PLIST         2       /* OS X plist format */
 
 
 /*
index be3075b9815d52d28afe308ac35c238dc80189b1..3c23d6247269cdd07a2dddfc759c637d033e91f4 100644 (file)
@@ -928,7 +928,7 @@ get_file(const char *name,          /* I - Name */
        slash > printerDriver))
   {
    /*
-    * Map ppd-name to Mac OS X standard locations...
+    * Map ppd-name to OS X standard locations...
     */
 
     snprintf(buffer, bufsize, "/%s", name);
@@ -1099,7 +1099,7 @@ list_ppds(int        request_id,  /* I - Request ID */
 
 #ifdef __APPLE__
  /*
-  * Load PPDs from standard Mac OS X locations...
+  * Load PPDs from standard OS X locations...
   */
 
   load_ppds("/Library/Printers",
@@ -1502,52 +1502,52 @@ list_ppds(int        request_id,        /* I - Request ID */
     if (request_id)
     {
       cupsdSendIPPGroup(IPP_TAG_PRINTER);
-  
+
       if (send_name)
        cupsdSendIPPString(IPP_TAG_NAME, "ppd-name", ppd->record.name);
-  
+
       if (send_natural_language)
       {
        cupsdSendIPPString(IPP_TAG_LANGUAGE, "ppd-natural-language",
                           ppd->record.languages[0]);
-  
+
        for (i = 1; i < PPD_MAX_LANG && ppd->record.languages[i][0]; i ++)
          cupsdSendIPPString(IPP_TAG_LANGUAGE, "", ppd->record.languages[i]);
       }
-  
+
       if (send_make)
        cupsdSendIPPString(IPP_TAG_TEXT, "ppd-make", ppd->record.make);
-  
+
       if (send_make_and_model)
        cupsdSendIPPString(IPP_TAG_TEXT, "ppd-make-and-model",
                           ppd->record.make_and_model);
-  
+
       if (send_device_id)
        cupsdSendIPPString(IPP_TAG_TEXT, "ppd-device-id",
                           ppd->record.device_id);
-  
+
       if (send_product)
       {
        cupsdSendIPPString(IPP_TAG_TEXT, "ppd-product",
                           ppd->record.products[0]);
-  
+
        for (i = 1; i < PPD_MAX_PROD && ppd->record.products[i][0]; i ++)
          cupsdSendIPPString(IPP_TAG_TEXT, "", ppd->record.products[i]);
       }
-  
+
       if (send_psversion)
       {
        cupsdSendIPPString(IPP_TAG_TEXT, "ppd-psversion",
                           ppd->record.psversions[0]);
-  
+
        for (i = 1; i < PPD_MAX_VERS && ppd->record.psversions[i][0]; i ++)
          cupsdSendIPPString(IPP_TAG_TEXT, "", ppd->record.psversions[i]);
       }
-  
+
       if (send_type)
        cupsdSendIPPString(IPP_TAG_KEYWORD, "ppd-type",
                           PPDTypes[ppd->record.type]);
-  
+
       if (send_model_number)
        cupsdSendIPPInteger(IPP_TAG_INTEGER, "ppd-model-number",
                            ppd->record.model_number);
@@ -2700,6 +2700,8 @@ load_tar(const char  *filename,           /* I - Actual filename */
   * Add a dummy entry for the file...
   */
 
+  (void)filename;
+
   add_ppd(name, name, "", "", "", "", "", "", mtime, size, 0,
           PPD_TYPE_ARCHIVE, "file");
   ChangedPPD = 1;
index f6c5d66b3521953aec73b8fef69b969c319c43b4..1292a94b6b9ad4b41908e8f75ccd1317d8e23f84 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Sandbox helper for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *
  *   These coded instructions, statements, and computer programs are the
  *   property of Apple Inc. and are protected by Federal copyright
index 12869a81b7864ef8fc17ce972617fd1e3bb35cb0..aaf9b13c01d3e40f32946c374374174cc8a9ce0e 100644 (file)
@@ -138,15 +138,6 @@ extern const char *cups_hstrerror(int);
 
 typedef void (*cupsd_selfunc_t)(void *data);
 
-#ifdef HAVE_AVAHI
-/*
- * Timeout callback function type...
- */
-
-typedef struct _cupsd_timeout_s cupsd_timeout_t;
-typedef void (*cupsd_timeoutfunc_t)(cupsd_timeout_t *timeout, void *data);
-#endif /* HAVE_AVAHI */
-
 
 /*
  * Globals...
@@ -180,12 +171,6 @@ VAR int                    Launchd         VALUE(0);
                                        /* Running from launchd */
 #endif /* HAVE_LAUNCH_H */
 
-#ifdef HAVE_AVAHI
-VAR cups_array_t       *Timeouts       VALUE(NULL);
-                                       /* Timed callbacks for main loop */
-#endif /* HAVE_AVAHI */
-
-
 
 /*
  * Prototypes...
@@ -249,19 +234,6 @@ extern void                cupsdStopSelect(void);
 extern void            cupsdStartServer(void);
 extern void            cupsdStopServer(void);
 
-#ifdef HAVE_AVAHI
-extern cupsd_timeout_t *cupsdAddTimeout(const struct timeval *tv,
-                                        cupsd_timeoutfunc_t cb,
-                                        void *data);
-extern cupsd_timeout_t *cupsdNextTimeout(long *delay);
-extern void            cupsdRemoveTimeout(cupsd_timeout_t *timeout);
-extern void            cupsdRunTimeout(cupsd_timeout_t *timeout);
-extern void            cupsdUpdateTimeout(cupsd_timeout_t *timeout,
-                                          const struct timeval *tv);
-#endif /* HAVE_AVAHI */
-
-extern int             cupsdRemoveFile(const char *filename);
-
 
 /*
  * End of "$Id: cupsd.h 7928 2008-09-10 22:14:22Z mike $".
index e0e1861f36800217508224196efa4976467f5eff..11997e0a2aee0000d1ac9f06f744770592208d24 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Filtering program for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -102,8 +102,7 @@ static int          open_pipe(int *fds);
 static int             read_cupsd_conf(const char *filename);
 static void            set_string(char **s, const char *val);
 static void            sighandler(int sig);
-static void            usage(const char *command, const char *opt)
-                       __attribute__((noreturn));
+static void            usage(const char *opt) __attribute__((noreturn));
 
 
 /*
@@ -193,7 +192,7 @@ main(int  argc,                             /* I - Number of command-line args */
              if (i < argc && !infile)
                infile = argv[i];
              else
-               usage(command, opt);
+               usage(opt);
              break;
 
           case 'a' : /* Specify option... */
@@ -201,7 +200,7 @@ main(int  argc,                             /* I - Number of command-line args */
              if (i < argc)
                num_options = cupsParseOptions(argv[i], num_options, &options);
              else
-               usage(command, opt);
+               usage(opt);
              break;
 
           case 'c' : /* Specify cupsd.conf file location... */
@@ -215,7 +214,7 @@ main(int  argc,                             /* I - Number of command-line args */
                  strlcpy(cupsdconf, argv[i], sizeof(cupsdconf));
              }
              else
-               usage(command, opt);
+               usage(opt);
              break;
 
           case 'd' : /* Specify the real printer name */
@@ -223,7 +222,7 @@ main(int  argc,                             /* I - Number of command-line args */
              if (i < argc)
                printer = argv[i];
              else
-               usage(command, opt);
+               usage(opt);
              break;
 
          case 'D' : /* Delete input file after conversion */
@@ -239,7 +238,7 @@ main(int  argc,                             /* I - Number of command-line args */
              if (i < argc && !infile)
                infile = argv[i];
              else
-               usage(command, opt);
+               usage(opt);
              break;
 
           case 'i' : /* Specify source MIME type... */
@@ -247,12 +246,12 @@ main(int  argc,                           /* I - Number of command-line args */
              if (i < argc)
              {
                if (sscanf(argv[i], "%15[^/]/%255s", super, type) != 2)
-                 usage(command, opt);
+                 usage(opt);
 
                 srctype = argv[i];
              }
              else
-               usage(command, opt);
+               usage(opt);
              break;
 
           case 'j' : /* Get job file or specify destination MIME type... */
@@ -265,7 +264,7 @@ main(int  argc,                             /* I - Number of command-line args */
                  infile = TempFile;
                }
                else
-                 usage(command, opt);
+                 usage(opt);
 
                 break;
              }
@@ -275,12 +274,12 @@ main(int  argc,                           /* I - Number of command-line args */
              if (i < argc)
              {
                if (sscanf(argv[i], "%15[^/]/%255s", super, type) != 2)
-                 usage(command, opt);
+                 usage(opt);
 
                 dsttype = argv[i];
              }
              else
-               usage(command, opt);
+               usage(opt);
              break;
 
           case 'n' : /* Specify number of copies... */
@@ -289,7 +288,7 @@ main(int  argc,                             /* I - Number of command-line args */
                num_options = cupsAddOption("copies", argv[i], num_options,
                                            &options);
              else
-               usage(command, opt);
+               usage(opt);
              break;
 
           case 'o' : /* Specify option(s) or output filename */
@@ -299,7 +298,7 @@ main(int  argc,                             /* I - Number of command-line args */
                if (!strcmp(command, "convert"))
                {
                  if (outfile)
-                   usage(command, NULL);
+                   usage(NULL);
                  else
                    outfile = argv[i];
                }
@@ -308,7 +307,7 @@ main(int  argc,                             /* I - Number of command-line args */
                                                 &options);
              }
              else
-               usage(command, opt);
+               usage(opt);
              break;
 
           case 'p' : /* Specify PPD file... */
@@ -317,7 +316,7 @@ main(int  argc,                             /* I - Number of command-line args */
              if (i < argc)
                ppdfile = argv[i];
              else
-               usage(command, opt);
+               usage(opt);
              break;
 
           case 't' : /* Specify title... */
@@ -326,7 +325,7 @@ main(int  argc,                             /* I - Number of command-line args */
              if (i < argc)
                title = argv[i];
              else
-               usage(command, opt);
+               usage(opt);
              break;
 
          case 'u' : /* Delete PPD file after conversion */
@@ -338,11 +337,11 @@ main(int  argc,                           /* I - Number of command-line args */
              if (i < argc)
                user = argv[i];
              else
-               usage(command, opt);
+               usage(opt);
              break;
 
          default : /* Something we don't understand... */
-             usage(command, opt);
+             usage(opt);
              break;
        }
     }
@@ -351,22 +350,17 @@ main(int  argc,                           /* I - Number of command-line args */
       if (strcmp(command, "convert"))
        infile = argv[i];
       else
-      {
-       _cupsLangPuts(stderr,
-                     _("convert: Use the -f option to specify a file to "
-                       "convert."));
-       usage(command, NULL);
-      }
+       usage(NULL);
     }
     else
     {
       _cupsLangPuts(stderr,
                     _("cupsfilter: Only one filename can be specified."));
-      usage(command, NULL);
+      usage(NULL);
     }
 
   if (!infile && !srctype)
-    usage(command, NULL);
+    usage(NULL);
 
   if (!title)
   {
@@ -1426,65 +1420,36 @@ sighandler(int s)                       /* I - Signal number */
  */
 
 static void
-usage(const char *command,             /* I - Command name */
-      const char *opt)                 /* I - Incorrect option, if any */
+usage(const char *opt)                 /* I - Incorrect option, if any */
 {
   if (opt)
-    _cupsLangPrintf(stderr, _("%s: Unknown option \"%c\"."), command, *opt);
-
-  if (!strcmp(command, "cupsfilter"))
-  {
-    _cupsLangPuts(stdout, _("Usage: cupsfilter [ options ] filename"));
-    _cupsLangPuts(stdout, _("Options:"));
-    _cupsLangPuts(stdout, _("  -D                      Remove the input file "
-                            "when finished."));
-    _cupsLangPuts(stdout, _("  -P filename.ppd         Set PPD file."));
-    _cupsLangPuts(stdout, _("  -U username             Set username for job."));
-    _cupsLangPuts(stdout, _("  -c cupsd.conf           Set cupsd.conf file to "
-                            "use."));
-    _cupsLangPuts(stdout, _("  -d printer              Use the named "
-                            "printer."));
-    _cupsLangPuts(stdout, _("  -e                      Use every filter from "
-                            "the PPD file."));
-    _cupsLangPuts(stdout, _("  -i mime/type            Set input MIME type "
-                            "(otherwise auto-typed)."));
-    _cupsLangPuts(stdout, _("  -j job-id[,N]           Filter file N from the "
-                            "specified job (default is file 1)."));
-    _cupsLangPuts(stdout, _("  -m mime/type            Set output MIME type "
-                           "(otherwise application/pdf)."));
-    _cupsLangPuts(stdout, _("  -n copies               Set number of copies."));
-    _cupsLangPuts(stdout, _("  -o name=value           Set option(s)."));
-    _cupsLangPuts(stdout, _("  -p filename.ppd         Set PPD file."));
-    _cupsLangPuts(stdout, _("  -t title                Set title."));
-    _cupsLangPuts(stdout, _("  -u                      Remove the PPD file "
-                            "when finished."));
-  }
-  else
-  {
-    _cupsLangPuts(stdout, _("Usage: convert [ options ]"));
-    _cupsLangPuts(stdout, _("Options:"));
-    _cupsLangPuts(stdout, _("  -D                      Remove the input file "
-                            "when finished."));
-    _cupsLangPuts(stdout, _("  -J title                Set title."));
-    _cupsLangPuts(stdout, _("  -P filename.ppd         Set PPD file."));
-    _cupsLangPuts(stdout, _("  -U username             Set username for job."));
-    _cupsLangPuts(stdout, _("  -a 'name=value ...'     Set option(s)."));
-    _cupsLangPuts(stdout, _("  -c copies               Set number of copies."));
-    _cupsLangPuts(stdout, _("  -d printer              Use the named "
-                            "printer."));
-    _cupsLangPuts(stdout, _("  -e                      Use every filter from "
-                            "the PPD file."));
-    _cupsLangPuts(stdout, _("  -f filename             Set file to be "
-                            "converted (otherwise stdin)."));
-    _cupsLangPuts(stdout, _("  -i mime/type            Set input MIME type "
-                            "(otherwise auto-typed)."));
-    _cupsLangPuts(stdout, _("  -j mime/type            Set output MIME type "
-                           "(otherwise application/pdf)."));
-    _cupsLangPuts(stdout, _("  -o filename             Set file to be "
-                            "generated (otherwise stdout)."));
-    _cupsLangPuts(stdout, _("  -u                      Remove the PPD file "
-                            "when finished."));
-  }
+    _cupsLangPrintf(stderr, _("%s: Unknown option \"%c\"."), "cupsfilter",
+                    *opt);
+
+  _cupsLangPuts(stdout, _("Usage: cupsfilter [ options ] filename"));
+  _cupsLangPuts(stdout, _("Options:"));
+  _cupsLangPuts(stdout, _("  -D                      Remove the input file "
+                         "when finished."));
+  _cupsLangPuts(stdout, _("  -P filename.ppd         Set PPD file."));
+  _cupsLangPuts(stdout, _("  -U username             Specify username."));
+  _cupsLangPuts(stdout, _("  -c cupsd.conf           Set cupsd.conf file to "
+                         "use."));
+  _cupsLangPuts(stdout, _("  -d printer              Use the named "
+                         "printer."));
+  _cupsLangPuts(stdout, _("  -e                      Use every filter from "
+                         "the PPD file."));
+  _cupsLangPuts(stdout, _("  -i mime/type            Set input MIME type "
+                         "(otherwise auto-typed)."));
+  _cupsLangPuts(stdout, _("  -j job-id[,N]           Filter file N from the "
+                         "specified job (default is file 1)."));
+  _cupsLangPuts(stdout, _("  -m mime/type            Set output MIME type "
+                         "(otherwise application/pdf)."));
+  _cupsLangPuts(stdout, _("  -n copies               Set number of copies."));
+  _cupsLangPuts(stdout, _("  -o name=value           Set option(s)."));
+  _cupsLangPuts(stdout, _("  -p filename.ppd         Set PPD file."));
+  _cupsLangPuts(stdout, _("  -t title                Set title."));
+  _cupsLangPuts(stdout, _("  -u                      Remove the PPD file "
+                         "when finished."));
 
   exit(1);
 }
index dcc257b791fbfc2a50933f41bdb22ff43df72a24..e57b3f13d8699474496dc749671511b3b95c0b25 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Directory services routines for the CUPS scheduler.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
  *
  * Contents:
  *
- *   cupsdDeregisterPrinter() - Stop sending broadcast information for a local
- *                             printer and remove any pending references to
- *                             remote printers.
- *   cupsdRegisterPrinter()   - Start sending broadcast information for a
- *                             printer or update the broadcast contents.
- *   cupsdStartBrowsing()     - Start sending and receiving broadcast
- *                             information.
- *   cupsdStopBrowsing()      - Stop sending and receiving broadcast
- *                             information.
- *   cupsdUpdateDNSSDName()   - Update the computer name we use for browsing...
- *   dnssdAddAlias()         - Add a DNS-SD alias name.
- *   dnssdBuildTxtRecord()    - Build a TXT record from printer info.
- *   dnssdDeregisterPrinter() - Stop sending broadcast information for a
- *                             printer.
- *   dnssdPackTxtRecord()     - Pack an array of key/value pairs into the TXT
- *                             record format.
- *   dnssdRegisterCallback()  - DNSServiceRegister callback.
- *   dnssdRegisterPrinter()   - Start sending broadcast information for a
- *                             printer or update the broadcast contents.
- *   dnssdStop()             - Stop all DNS-SD registrations.
- *   dnssdUpdate()           - Handle DNS-SD queries.
- *   get_auth_info_required() - Get the auth-info-required value to advertise.
- *   get_hostconfig()        - Get an /etc/hostconfig service setting.
- *   update_lpd()            - Update the LPD configuration as needed.
- *   update_smb()            - Update the SMB configuration as needed.
+ *   cupsdDeregisterPrinter()  - Stop sending broadcast information for a local
+ *                              printer and remove any pending references to
+ *                              remote printers.
+ *   cupsdRegisterPrinter()    - Start sending broadcast information for a
+ *                              printer or update the broadcast contents.
+ *   cupsdStartBrowsing()      - Start sending and receiving broadcast
+ *                              information.
+ *   cupsdStopBrowsing()       - Stop sending and receiving broadcast
+ *                              information.
+ *   cupsdUpdateDNSSDName()    - Update the computer name we use for
+ *                              browsing...
+ *   dnssdAddAlias()          - Add a DNS-SD alias name.
+ *   dnssdBuildTxtRecord()     - Build a TXT record from printer info.
+ *   dnssdDeregisterInstance() - Deregister a DNS-SD service instance.
+ *   dnssdDeregisterPrinter()  - Deregister all services for a printer.
+ *   dnssdErrorString()        - Return an error string for an error code.
+ *   dnssdRegisterCallback()   - Free a TXT record.
+ *   dnssdRegisterCallback()   - DNSServiceRegister callback.
+ *   dnssdRegisterInstance()   - Register an instance of a printer service.
+ *   dnssdRegisterPrinter()    - Start sending broadcast information for a
+ *                              printer or update the broadcast contents.
+ *   dnssdStop()              - Stop all DNS-SD registrations.
+ *   dnssdUpdate()            - Handle DNS-SD queries.
+ *   get_auth_info_required()  - Get the auth-info-required value to advertise.
+ *   get_hostconfig()         - Get an /etc/hostconfig service setting.
+ *   update_lpd()             - Update the LPD configuration as needed.
+ *   update_smb()             - Update the SMB configuration as needed.
  */
 
 /*
 #include "cupsd.h"
 #include <grp.h>
 
-#ifdef HAVE_DNSSD
-#  include <dns_sd.h>
-#  ifdef __APPLE__
-#    include <nameser.h>
-#    ifdef HAVE_COREFOUNDATION
-#      include <CoreFoundation/CoreFoundation.h>
-#    endif /* HAVE_COREFOUNDATION */
-#    ifdef HAVE_SYSTEMCONFIGURATION
-#      include <SystemConfiguration/SystemConfiguration.h>
-#    endif /* HAVE_SYSTEMCONFIGURATION */
-#  endif /* __APPLE__ */
-#endif /* HAVE_DNSSD */
+#if defined(HAVE_DNSSD) && defined(__APPLE__)
+#  include <nameser.h>
+#  ifdef HAVE_COREFOUNDATION
+#    include <CoreFoundation/CoreFoundation.h>
+#  endif /* HAVE_COREFOUNDATION */
+#  ifdef HAVE_SYSTEMCONFIGURATION
+#    include <SystemConfiguration/SystemConfiguration.h>
+#  endif /* HAVE_SYSTEMCONFIGURATION */
+#endif /* HAVE_DNSSD && __APPLE__ */
 
 
 /*
  * Local functions...
  */
 
-#ifdef HAVE_DNSSD
-static char    *get_auth_info_required(cupsd_printer_t *p, char *buffer,
-                                       size_t bufsize);
-#endif /* HAVE_DNSSD */
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+static char            *get_auth_info_required(cupsd_printer_t *p,
+                                               char *buffer, size_t bufsize);
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 #ifdef __APPLE__
-static int     get_hostconfig(const char *name);
+static int             get_hostconfig(const char *name);
 #endif /* __APPLE__ */
-static void    update_lpd(int onoff);
-static void    update_smb(int onoff);
+static void            update_lpd(int onoff);
+static void            update_smb(int onoff);
 
 
-#ifdef HAVE_DNSSD
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
 #  ifdef HAVE_COREFOUNDATION
-static void    dnssdAddAlias(const void *key, const void *value,
-                             void *context);
+static void            dnssdAddAlias(const void *key, const void *value,
+                                     void *context);
 #  endif /* HAVE_COREFOUNDATION */
-static char    *dnssdBuildTxtRecord(int *txt_len, cupsd_printer_t *p,
-                                    int for_lpd);
-static void    dnssdDeregisterPrinter(cupsd_printer_t *p);
-static char    *dnssdPackTxtRecord(int *txt_len, char *keyvalue[][2],
-                                   int count);
-static void    dnssdRegisterCallback(DNSServiceRef sdRef,
-                                     DNSServiceFlags flags,
-                                     DNSServiceErrorType errorCode,
-                                     const char *name, const char *regtype,
-                                     const char *domain, void *context);
-static void    dnssdRegisterPrinter(cupsd_printer_t *p);
-static void    dnssdStop(void);
-static void    dnssdUpdate(void);
-#endif /* HAVE_DNSSD */
+static cupsd_txt_t     dnssdBuildTxtRecord(cupsd_printer_t *p, int for_lpd);
+static void            dnssdDeregisterInstance(cupsd_srv_t *srv);
+static void            dnssdDeregisterPrinter(cupsd_printer_t *p,
+                                              int clear_name);
+static const char      *dnssdErrorString(int error);
+static void            dnssdFreeTxtRecord(cupsd_txt_t *txt);
+#  ifdef HAVE_DNSSD
+static void            dnssdRegisterCallback(DNSServiceRef sdRef,
+                                             DNSServiceFlags flags,
+                                             DNSServiceErrorType errorCode,
+                                             const char *name,
+                                             const char *regtype,
+                                             const char *domain,
+                                             void *context);
+#  else
+static void            dnssdRegisterCallback(AvahiEntryGroup *p,
+                                             AvahiEntryGroupState state,
+                                             void *context);
+#  endif /* HAVE_DNSSD */
+static int             dnssdRegisterInstance(cupsd_srv_t *srv,
+                                             cupsd_printer_t *p,
+                                             char *name, const char *type,
+                                             const char *subtypes, int port,
+                                             cupsd_txt_t *txt, int commit);
+static void            dnssdRegisterPrinter(cupsd_printer_t *p);
+static void            dnssdStop(void);
+#  ifdef HAVE_DNSSD
+static void            dnssdUpdate(void);
+#  endif /* HAVE_DNSSD */
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 
 
 /*
@@ -125,10 +140,8 @@ cupsdDeregisterPrinter(
   * Announce the deletion...
   */
 
-#ifdef HAVE_DNSSD
-  if (removeit && (BrowseLocalProtocols & BROWSE_DNSSD) && DNSSDRef)
-    dnssdDeregisterPrinter(p);
-#endif /* HAVE_DNSSD */
+  if (removeit && (BrowseLocalProtocols & BROWSE_DNSSD) && DNSSDMaster)
+    dnssdDeregisterPrinter(p, 1);
 }
 
 
@@ -147,10 +160,8 @@ cupsdRegisterPrinter(cupsd_printer_t *p)/* I - Printer */
       (p->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_SCANNER)))
     return;
 
-#ifdef HAVE_DNSSD
-  if ((BrowseLocalProtocols & BROWSE_DNSSD) && DNSSDRef)
+  if ((BrowseLocalProtocols & BROWSE_DNSSD) && DNSSDMaster)
     dnssdRegisterPrinter(p);
-#endif /* HAVE_DNSSD */
 }
 
 
@@ -167,18 +178,18 @@ cupsdStartBrowsing(void)
   if (!Browsing || !BrowseLocalProtocols)
     return;
 
-#ifdef HAVE_DNSSD
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
   if (BrowseLocalProtocols & BROWSE_DNSSD)
   {
-    DNSServiceErrorType error;         /* Error from service creation */
     cupsd_listener_t   *lis;           /* Current listening socket */
-
+#  ifdef HAVE_DNSSD
+    DNSServiceErrorType error;         /* Error from service creation */
 
    /*
     * First create a "master" connection for all registrations...
     */
 
-    if ((error = DNSServiceCreateConnection(&DNSSDRef))
+    if ((error = DNSServiceCreateConnection(&DNSSDMaster))
            != kDNSServiceErr_NoError)
     {
       cupsdLogMessage(CUPSD_LOG_ERROR,
@@ -193,39 +204,68 @@ cupsdStartBrowsing(void)
       * Add the master connection to the select list...
       */
 
-      int fd = DNSServiceRefSockFD(DNSSDRef);
+      int fd = DNSServiceRefSockFD(DNSSDMaster);
 
       fcntl(fd, F_SETFD, fcntl(fd, F_GETFD) | FD_CLOEXEC);
 
       cupsdAddSelect(fd, (cupsd_selfunc_t)dnssdUpdate, NULL, NULL);
+    }
 
-     /*
-      * Then get the port we use for registrations.  If we are not listening
-      * on any non-local ports, there is no sense sharing local printers via
-      * Bonjour...
-      */
+#  else /* HAVE_AVAHI */
+    if ((DNSSDMaster = avahi_threaded_poll_new()) == NULL)
+    {
+      cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to create DNS-SD thread.");
 
-      DNSSDPort = 0;
+      if (FatalErrors & CUPSD_FATAL_BROWSE)
+       cupsdEndProcess(getpid(), 0);
+    }
+    else
+    {
+      int error;                       /* Error code, if any */
 
-      for (lis = (cupsd_listener_t *)cupsArrayFirst(Listeners);
-          lis;
-          lis = (cupsd_listener_t *)cupsArrayNext(Listeners))
+      DNSSDClient = avahi_client_new(avahi_threaded_poll_get(DNSSDMaster), 0,
+                                     NULL, NULL, &error);
+
+      if (DNSSDClient == NULL)
       {
-       if (httpAddrLocalhost(&(lis->address)))
-         continue;
+        cupsdLogMessage(CUPSD_LOG_ERROR,
+                        "Unable to communicate with avahi-daemon: %s",
+                        dnssdErrorString(error));
 
-        DNSSDPort = _httpAddrPort(&(lis->address));
-       break;
+        if (FatalErrors & CUPSD_FATAL_BROWSE)
+         cupsdEndProcess(getpid(), 0);
       }
 
-     /*
-      * Set the computer name and register the web interface...
-      */
+      avahi_threaded_poll_start(DNSSDMaster);
+    }
+#  endif /* HAVE_DNSSD */
+
+   /*
+    * Then get the port we use for registrations.  If we are not listening
+    * on any non-local ports, there is no sense sharing local printers via
+    * Bonjour...
+    */
+
+    DNSSDPort = 0;
+
+    for (lis = (cupsd_listener_t *)cupsArrayFirst(Listeners);
+        lis;
+        lis = (cupsd_listener_t *)cupsArrayNext(Listeners))
+    {
+      if (httpAddrLocalhost(&(lis->address)))
+       continue;
 
-      cupsdUpdateDNSSDName();
+      DNSSDPort = _httpAddrPort(&(lis->address));
+      break;
     }
+
+   /*
+    * Set the computer name and register the web interface...
+    */
+
+    cupsdUpdateDNSSDName();
   }
-#endif /* HAVE_DNSSD */
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 
  /*
   * Enable LPD and SMB printer sharing as needed through external programs...
@@ -276,10 +316,10 @@ cupsdStopBrowsing(void)
   * Shut down browsing sockets...
   */
 
-#ifdef HAVE_DNSSD
-  if ((BrowseLocalProtocols & BROWSE_DNSSD) && DNSSDRef)
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
+  if ((BrowseLocalProtocols & BROWSE_DNSSD) && DNSSDMaster)
     dnssdStop();
-#endif /* HAVE_DNSSD */
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 
  /*
   * Disable LPD and SMB printer sharing as needed through external programs...
@@ -293,7 +333,7 @@ cupsdStopBrowsing(void)
 }
 
 
-#ifdef HAVE_DNSSD
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
 /*
  * 'cupsdUpdateDNSSDName()' - Update the computer name we use for browsing...
  */
@@ -301,7 +341,6 @@ cupsdStopBrowsing(void)
 void
 cupsdUpdateDNSSDName(void)
 {
-  DNSServiceErrorType error;           /* Error from service creation */
   char         webif[1024];            /* Web interface share name */
 #  ifdef HAVE_SYSTEMCONFIGURATION
   SCDynamicStoreRef sc;                        /* Context for dynamic store */
@@ -416,10 +455,18 @@ cupsdUpdateDNSSDName(void)
   }
   else
 #  endif /* HAVE_SYSTEMCONFIGURATION */
+#  ifdef HAVE_AVAHI
+  {
+    cupsdSetString(&DNSSDComputerName, avahi_client_get_host_name(DNSSDClient));
+    cupsdSetString(&DNSSDHostName,
+                   avahi_client_get_host_name_fqdn(DNSSDClient));
+  }
+#  else /* HAVE_DNSSD */
   {
     cupsdSetString(&DNSSDComputerName, ServerName);
     cupsdSetString(&DNSSDHostName, ServerName);
   }
+#  endif /* HAVE_AVAHI */
 
  /*
   * Then (re)register the web interface if enabled...
@@ -430,26 +477,15 @@ cupsdUpdateDNSSDName(void)
     if (DNSSDComputerName)
       snprintf(webif, sizeof(webif), "CUPS @ %s", DNSSDComputerName);
     else
-      strlcpy(webif, "CUPS Web Interface", sizeof(webif));
-
-    if (WebIFRef)
-      DNSServiceRefDeallocate(WebIFRef);
-
-    WebIFRef = DNSSDRef;
-    if ((error = DNSServiceRegister(&WebIFRef,
-                                   kDNSServiceFlagsShareConnection,
-                                   0, webif, "_http._tcp", NULL,
-                                   NULL, htons(DNSSDPort), 7,
-                                   "\006path=/", dnssdRegisterCallback,
-                                   NULL)) != kDNSServiceErr_NoError)
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                     "DNS-SD web interface registration failed: %d", error);
+      strlcpy(webif, "CUPS", sizeof(webif));
+
+    dnssdDeregisterInstance(&WebIFSrv);
+    dnssdRegisterInstance(&WebIFSrv, NULL, webif, "_http._tcp", "_printer",
+                          DNSSDPort, NULL, 1);
   }
 }
-#endif /* HAVE_DNSSD */
 
 
-#ifdef HAVE_DNSSD
 #  ifdef HAVE_COREFOUNDATION
 /*
  * 'dnssdAddAlias()' - Add a DNS-SD alias name.
@@ -495,13 +531,13 @@ dnssdAddAlias(const void *key,            /* I - Key */
  * 'dnssdBuildTxtRecord()' - Build a TXT record from printer info.
  */
 
-static char *                          /* O - TXT record */
+static cupsd_txt_t                     /* O - TXT record */
 dnssdBuildTxtRecord(
-    int             *txt_len,          /* O - TXT record length */
     cupsd_printer_t *p,                        /* I - Printer information */
     int             for_lpd)           /* I - 1 = LPD, 0 = IPP */
 {
-  int          i;                      /* Looping var */
+  int          i,                      /* Looping var */
+               count;                  /* Count of key/value pairs */
   char         admin_hostname[256],    /* .local hostname for admin page */
                adminurl_str[256],      /* URL for the admin page */
                type_str[32],           /* Type to string buffer */
@@ -509,237 +545,370 @@ dnssdBuildTxtRecord(
                rp_str[1024],           /* Queue name string buffer */
                air_str[1024],          /* auth-info-required string buffer */
                *keyvalue[32][2];       /* Table of key/value pairs */
+  cupsd_txt_t  txt;                    /* TXT record */
 
 
  /*
   * Load up the key value pairs...
   */
 
-  i = 0;
+  count = 0;
 
-  keyvalue[i  ][0] = "txtvers";
-  keyvalue[i++][1] = "1";
-
-  keyvalue[i  ][0] = "qtotal";
-  keyvalue[i++][1] = "1";
-
-  keyvalue[i  ][0] = "rp";
-  keyvalue[i++][1] = rp_str;
-  if (for_lpd)
-    strlcpy(rp_str, p->name, sizeof(rp_str));
-  else
-    snprintf(rp_str, sizeof(rp_str), "%s/%s",
-            (p->type & CUPS_PRINTER_CLASS) ? "classes" : "printers", p->name);
-
-  keyvalue[i  ][0] = "ty";
-  keyvalue[i++][1] = p->make_model ? p->make_model : "Unknown";
+  if (!for_lpd || (BrowseLocalProtocols & BROWSE_LPD))
+  {
+    keyvalue[count  ][0] = "txtvers";
+    keyvalue[count++][1] = "1";
 
-  snprintf(admin_hostname, sizeof(admin_hostname), "%s.local.", DNSSDHostName);
-  httpAssembleURIf(HTTP_URI_CODING_ALL, adminurl_str, sizeof(adminurl_str),
-                   "http", NULL, admin_hostname, DNSSDPort, "/%s/%s",
-                  (p->type & CUPS_PRINTER_CLASS) ? "classes" : "printers",
-                  p->name);
-  keyvalue[i  ][0] = "adminurl";
-  keyvalue[i++][1] = adminurl_str;
+    keyvalue[count  ][0] = "qtotal";
+    keyvalue[count++][1] = "1";
 
-  keyvalue[i  ][0] = "note";
-  keyvalue[i++][1] = p->location ? p->location : "";
+    keyvalue[count  ][0] = "rp";
+    keyvalue[count++][1] = rp_str;
+    if (for_lpd)
+      strlcpy(rp_str, p->name, sizeof(rp_str));
+    else
+      snprintf(rp_str, sizeof(rp_str), "%s/%s",
+              (p->type & CUPS_PRINTER_CLASS) ? "classes" : "printers",
+              p->name);
 
-  keyvalue[i  ][0] = "priority";
-  keyvalue[i++][1] = for_lpd ? "100" : "0";
+    keyvalue[count  ][0] = "ty";
+    keyvalue[count++][1] = p->make_model ? p->make_model : "Unknown";
 
-  keyvalue[i  ][0] = "product";
-  keyvalue[i++][1] = p->pc && p->pc->product ? p->pc->product : "Unknown";
+    if (strstr(DNSSDHostName, ".local"))
+      strlcpy(admin_hostname, DNSSDHostName, sizeof(admin_hostname));
+    else
+      snprintf(admin_hostname, sizeof(admin_hostname), "%s.local.",
+               DNSSDHostName);
+    httpAssembleURIf(HTTP_URI_CODING_ALL, adminurl_str, sizeof(adminurl_str),
+#  ifdef HAVE_SSL
+                    "https",
+#  else
+                    "http",
+#  endif /* HAVE_SSL */
+                    NULL, admin_hostname, DNSSDPort, "/%s/%s",
+                    (p->type & CUPS_PRINTER_CLASS) ? "classes" : "printers",
+                    p->name);
+    keyvalue[count  ][0] = "adminurl";
+    keyvalue[count++][1] = adminurl_str;
+
+    if (p->location)
+    {
+      keyvalue[count  ][0] = "note";
+      keyvalue[count++][1] = p->location;
+    }
 
-  keyvalue[i  ][0] = "pdl";
-  keyvalue[i++][1] = p->pdl ? p->pdl : "application/postscript";
+    keyvalue[count  ][0] = "priority";
+    keyvalue[count++][1] = for_lpd ? "100" : "0";
 
-  if (get_auth_info_required(p, air_str, sizeof(air_str)))
-  {
-    keyvalue[i  ][0] = "air";
-    keyvalue[i++][1] = air_str;
-  }
+    keyvalue[count  ][0] = "product";
+    keyvalue[count++][1] = p->pc && p->pc->product ? p->pc->product : "Unknown";
 
-  keyvalue[i  ][0] = "UUID";
-  keyvalue[i++][1] = p->uuid + 9;
+    keyvalue[count  ][0] = "pdl";
+    keyvalue[count++][1] = p->pdl ? p->pdl : "application/postscript";
 
-#ifdef HAVE_SSL
-  keyvalue[i  ][0] = "TLS";
-  keyvalue[i++][1] = "1.2";
-#endif /* HAVE_SSL */
+    if (get_auth_info_required(p, air_str, sizeof(air_str)))
+    {
+      keyvalue[count  ][0] = "air";
+      keyvalue[count++][1] = air_str;
+    }
 
-  keyvalue[i  ][0] = "Transparent";
-  keyvalue[i++][1] = "F";
+    keyvalue[count  ][0] = "UUID";
+    keyvalue[count++][1] = p->uuid + 9;
 
-  keyvalue[i  ][0] = "Binary";
-  keyvalue[i++][1] = "F";
+  #ifdef HAVE_SSL
+    keyvalue[count  ][0] = "TLS";
+    keyvalue[count++][1] = "1.2";
+  #endif /* HAVE_SSL */
 
-  keyvalue[i  ][0] = "Fax";
-  keyvalue[i++][1] = (p->type & CUPS_PRINTER_FAX) ? "T" : "F";
+    if (p->type & CUPS_PRINTER_FAX)
+    {
+      keyvalue[count  ][0] = "Fax";
+      keyvalue[count++][1] = (p->type & CUPS_PRINTER_FAX) ? "T" : "F";
+    }
 
-  keyvalue[i  ][0] = "Color";
-  keyvalue[i++][1] = (p->type & CUPS_PRINTER_COLOR) ? "T" : "F";
+    if (p->type & CUPS_PRINTER_COLOR)
+    {
+      keyvalue[count  ][0] = "Color";
+      keyvalue[count++][1] = (p->type & CUPS_PRINTER_COLOR) ? "T" : "F";
+    }
 
-  keyvalue[i  ][0] = "Duplex";
-  keyvalue[i++][1] = (p->type & CUPS_PRINTER_DUPLEX) ? "T" : "F";
+    if (p->type & CUPS_PRINTER_DUPLEX)
+    {
+      keyvalue[count  ][0] = "Duplex";
+      keyvalue[count++][1] = (p->type & CUPS_PRINTER_DUPLEX) ? "T" : "F";
+    }
 
-  keyvalue[i  ][0] = "Staple";
-  keyvalue[i++][1] = (p->type & CUPS_PRINTER_STAPLE) ? "T" : "F";
+    if (p->type & CUPS_PRINTER_STAPLE)
+    {
+      keyvalue[count  ][0] = "Staple";
+      keyvalue[count++][1] = (p->type & CUPS_PRINTER_STAPLE) ? "T" : "F";
+    }
 
-  keyvalue[i  ][0] = "Copies";
-  keyvalue[i++][1] = (p->type & CUPS_PRINTER_COPIES) ? "T" : "F";
+    if (p->type & CUPS_PRINTER_COPIES)
+    {
+      keyvalue[count  ][0] = "Copies";
+      keyvalue[count++][1] = (p->type & CUPS_PRINTER_COPIES) ? "T" : "F";
+    }
 
-  keyvalue[i  ][0] = "Collate";
-  keyvalue[i++][1] = (p->type & CUPS_PRINTER_COLLATE) ? "T" : "F";
+    if (p->type & CUPS_PRINTER_COLLATE)
+    {
+      keyvalue[count  ][0] = "Collate";
+      keyvalue[count++][1] = (p->type & CUPS_PRINTER_COLLATE) ? "T" : "F";
+    }
 
-  keyvalue[i  ][0] = "Punch";
-  keyvalue[i++][1] = (p->type & CUPS_PRINTER_PUNCH) ? "T" : "F";
+    if (p->type & CUPS_PRINTER_PUNCH)
+    {
+      keyvalue[count  ][0] = "Punch";
+      keyvalue[count++][1] = (p->type & CUPS_PRINTER_PUNCH) ? "T" : "F";
+    }
 
-  keyvalue[i  ][0] = "Bind";
-  keyvalue[i++][1] = (p->type & CUPS_PRINTER_BIND) ? "T" : "F";
+    if (p->type & CUPS_PRINTER_BIND)
+    {
+      keyvalue[count  ][0] = "Bind";
+      keyvalue[count++][1] = (p->type & CUPS_PRINTER_BIND) ? "T" : "F";
+    }
 
-  keyvalue[i  ][0] = "Sort";
-  keyvalue[i++][1] = (p->type & CUPS_PRINTER_SORT) ? "T" : "F";
+    if (p->type & CUPS_PRINTER_SORT)
+    {
+      keyvalue[count  ][0] = "Sort";
+      keyvalue[count++][1] = (p->type & CUPS_PRINTER_SORT) ? "T" : "F";
+    }
 
-  keyvalue[i  ][0] = "Scan";
-  keyvalue[i++][1] = (p->type & CUPS_PRINTER_MFP) ? "T" : "F";
+    if (p->type & CUPS_PRINTER_MFP)
+    {
+      keyvalue[count  ][0] = "Scan";
+      keyvalue[count++][1] = (p->type & CUPS_PRINTER_MFP) ? "T" : "F";
+    }
 
-  snprintf(type_str, sizeof(type_str), "0x%X", p->type | CUPS_PRINTER_REMOTE);
-  snprintf(state_str, sizeof(state_str), "%d", p->state);
+    snprintf(type_str, sizeof(type_str), "0x%X", p->type | CUPS_PRINTER_REMOTE);
+    snprintf(state_str, sizeof(state_str), "%d", p->state);
 
-  keyvalue[i  ][0] = "printer-state";
-  keyvalue[i++][1] = state_str;
+    keyvalue[count  ][0] = "printer-state";
+    keyvalue[count++][1] = state_str;
 
-  keyvalue[i  ][0] = "printer-type";
-  keyvalue[i++][1] = type_str;
+    keyvalue[count  ][0] = "printer-type";
+    keyvalue[count++][1] = type_str;
+  }
 
  /*
   * Then pack them into a proper txt record...
   */
 
-  return (dnssdPackTxtRecord(txt_len, keyvalue, i));
+#  ifdef HAVE_DNSSD
+  TXTRecordCreate(&txt, 0, NULL);
+
+  for (i = 0; i < count; i ++)
+  {
+    size_t len = strlen(keyvalue[i][1]);
+
+    if (len < 256)
+      TXTRecordSetValue(&txt, keyvalue[i][0], (uint8_t)len, keyvalue[i][1]);
+  }
+
+#  else
+  for (i = 0, txt = NULL; i < count; i ++)
+    txt = avahi_string_list_add_printf(txt, "%s=%s", keyvalue[i][0],
+                                       keyvalue[i][1]);
+#  endif /* HAVE_DNSSD */
+
+  return (txt);
 }
 
 
 /*
- * 'dnssdDeregisterPrinter()' - Stop sending broadcast information for a
- *                              printer.
+ * 'dnssdDeregisterInstance()' - Deregister a DNS-SD service instance.
  */
 
 static void
-dnssdDeregisterPrinter(
-    cupsd_printer_t *p)                        /* I - Printer */
+dnssdDeregisterInstance(
+    cupsd_srv_t     *srv)              /* I - Service */
 {
-  cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdDeregisterPrinter(%s)", p->name);
+  if (!srv || !*srv)
+    return;
 
- /*
-  * Closing the socket deregisters the service
-  */
+#  ifdef HAVE_DNSSD
+  DNSServiceRefDeallocate(*srv);
 
-  if (p->ipp_ref)
-  {
-    DNSServiceRefDeallocate(p->ipp_ref);
-    p->ipp_ref = NULL;
-  }
+#  else /* HAVE_AVAHI */
+  avahi_threaded_poll_lock(DNSSDMaster);
+  avahi_entry_group_free(*srv);
+  avahi_threaded_poll_unlock(DNSSDMaster);
+#  endif /* HAVE_DNSSD */
 
-  if (p->ipp_txt)
-  {
-   /*
-    * p->ipp_txt is malloc'd, not _cupsStrAlloc'd...
-    */
+  *srv = NULL;
+}
 
-    free(p->ipp_txt);
-    p->ipp_txt = NULL;
-  }
 
-  if (p->printer_ref)
-  {
-    DNSServiceRefDeallocate(p->printer_ref);
-    p->printer_ref = NULL;
-  }
+/*
+ * 'dnssdDeregisterPrinter()' - Deregister all services for a printer.
+ */
 
-  if (p->printer_txt)
-  {
-   /*
-    * p->printer_txt is malloc'd, not _cupsStrAlloc'd...
-    */
+static void
+dnssdDeregisterPrinter(
+    cupsd_printer_t *p,                        /* I - Printer */
+    int             clear_name)                /* I - Clear the name? */
 
-    free(p->printer_txt);
-    p->printer_txt = NULL;
+{
+  cupsdLogMessage(CUPSD_LOG_DEBUG2,
+                  "dnssdDeregisterPrinter(p=%p(%s), clear_name=%d)", p, p->name,
+                  clear_name);
+
+  if (p->ipp_srv)
+  {
+    dnssdDeregisterInstance(&p->ipp_srv);
+
+#  ifdef HAVE_DNSSD
+#    ifdef HAVE_SSL
+    dnssdDeregisterInstance(&p->ipps_srv);
+#    endif /* HAVE_SSL */
+    dnssdDeregisterInstance(&p->printer_srv);
+#  endif /* HAVE_DNSSD */
   }
 
  /*
-  * Remove the printer from the array of DNS-SD printers, then clear the
+  * Remove the printer from the array of DNS-SD printers but keep the
   * registered name...
   */
 
   cupsArrayRemove(DNSSDPrinters, p);
-  cupsdClearString(&p->reg_name);
+
+ /*
+  * Optionally clear the service name...
+  */
+
+  if (clear_name)
+    cupsdClearString(&p->reg_name);
 }
 
 
 /*
- * 'dnssdPackTxtRecord()' - Pack an array of key/value pairs into the
- *                          TXT record format.
+ * 'dnssdErrorString()' - Return an error string for an error code.
  */
 
-static char *                          /* O - TXT record */
-dnssdPackTxtRecord(int  *txt_len,      /* O - TXT record length */
-                  char *keyvalue[][2], /* I - Table of key value pairs */
-                  int  count)          /* I - Items in table */
+static const char *                    /* O - Error message */
+dnssdErrorString(int error)            /* I - Error number */
 {
-  int  i;                              /* Looping var */
-  int  length;                         /* Length of TXT record */
-  int  length2;                                /* Length of value */
-  char *txtRecord;                     /* TXT record buffer */
-  char *cursor;                                /* Looping pointer */
+#  ifdef HAVE_DNSSD
+  switch (error)
+  {
+    case kDNSServiceErr_NoError :
+        return ("OK.");
 
+    default :
+    case kDNSServiceErr_Unknown :
+        return ("Unknown error.");
 
- /*
-  * Calculate the buffer size
-  */
+    case kDNSServiceErr_NoSuchName :
+        return ("Service not found.");
 
-  if (count <= 0)
-    return (NULL);
+    case kDNSServiceErr_NoMemory :
+        return ("Out of memory.");
 
-  for (length = i = 0; i < count; i++)
-    length += 1 + strlen(keyvalue[i][0]) +
-             (keyvalue[i][1] ? 1 + strlen(keyvalue[i][1]) : 0);
+    case kDNSServiceErr_BadParam :
+        return ("Bad parameter.");
 
- /*
-  * Allocate and fill it
-  */
+    case kDNSServiceErr_BadReference :
+        return ("Bad service reference.");
 
-  txtRecord = malloc(length);
-  if (txtRecord)
-  {
-    *txt_len = length;
+    case kDNSServiceErr_BadState :
+        return ("Bad state.");
 
-    for (cursor = txtRecord, i = 0; i < count; i++)
-    {
-     /*
-      * Drop in the p-string style length byte followed by the data
-      */
+    case kDNSServiceErr_BadFlags :
+        return ("Bad flags.");
 
-      length  = strlen(keyvalue[i][0]);
-      length2 = keyvalue[i][1] ? 1 + strlen(keyvalue[i][1]) : 0;
+    case kDNSServiceErr_Unsupported :
+        return ("Unsupported.");
 
-      *cursor++ = (unsigned char)(length + length2);
+    case kDNSServiceErr_NotInitialized :
+        return ("Not initialized.");
 
-      memcpy(cursor, keyvalue[i][0], length);
-      cursor += length;
+    case kDNSServiceErr_AlreadyRegistered :
+        return ("Already registered.");
 
-      if (length2)
-      {
-        length2 --;
-       *cursor++ = '=';
-       memcpy(cursor, keyvalue[i][1], length2);
-       cursor += length2;
-      }
-    }
+    case kDNSServiceErr_NameConflict :
+        return ("Name conflict.");
+
+    case kDNSServiceErr_Invalid :
+        return ("Invalid name.");
+
+    case kDNSServiceErr_Firewall :
+        return ("Firewall prevents registration.");
+
+    case kDNSServiceErr_Incompatible :
+        return ("Client library incompatible.");
+
+    case kDNSServiceErr_BadInterfaceIndex :
+        return ("Bad interface index.");
+
+    case kDNSServiceErr_Refused :
+        return ("Server prevents registration.");
+
+    case kDNSServiceErr_NoSuchRecord :
+        return ("Record not found.");
+
+    case kDNSServiceErr_NoAuth :
+        return ("Authentication required.");
+
+    case kDNSServiceErr_NoSuchKey :
+        return ("Encryption key not found.");
+
+    case kDNSServiceErr_NATTraversal :
+        return ("Unable to traverse NAT boundary.");
+
+    case kDNSServiceErr_DoubleNAT :
+        return ("Unable to traverse double-NAT boundary.");
+
+    case kDNSServiceErr_BadTime :
+        return ("Bad system time.");
+
+    case kDNSServiceErr_BadSig :
+        return ("Bad signature.");
+
+    case kDNSServiceErr_BadKey :
+        return ("Bad encryption key.");
+
+    case kDNSServiceErr_Transient :
+        return ("Transient error occurred - please try again.");
+
+    case kDNSServiceErr_ServiceNotRunning :
+        return ("Server not running.");
+
+    case kDNSServiceErr_NATPortMappingUnsupported :
+        return ("NAT doesn't support NAT-PMP or UPnP.");
+
+    case kDNSServiceErr_NATPortMappingDisabled :
+        return ("NAT supports NAT-PNP or UPnP but it is disabled.");
+
+    case kDNSServiceErr_NoRouter :
+        return ("No Internet/default router configured.");
+
+    case kDNSServiceErr_PollingMode :
+        return ("Service polling mode error.");
+
+    case kDNSServiceErr_Timeout :
+        return ("Service timeout.");
   }
 
-  return (txtRecord);
+#  else /* HAVE_AVAHI */
+  return (avahi_strerror(error));
+#  endif /* HAVE_DNSSD */
+}
+
+
+/*
+ * 'dnssdRegisterCallback()' - Free a TXT record.
+ */
+
+static void
+dnssdFreeTxtRecord(cupsd_txt_t *txt)   /* I - TXT record */
+{
+#  ifdef HAVE_DNSSD
+  TXTRecordDeallocate(txt);
+
+#  else /* HAVE_AVAHI */
+  avahi_string_list_free(*txt);
+  *txt = NULL;
+#  endif /* HAVE_DNSSD */
 }
 
 
@@ -747,6 +916,7 @@ dnssdPackTxtRecord(int  *txt_len,   /* O - TXT record length */
  * 'dnssdRegisterCallback()' - DNSServiceRegister callback.
  */
 
+#  ifdef HAVE_DNSSD
 static void
 dnssdRegisterCallback(
     DNSServiceRef      sdRef,          /* I - DNS Service reference */
@@ -755,7 +925,7 @@ dnssdRegisterCallback(
     const char         *name,          /* I - Service name */
     const char         *regtype,       /* I - Service type */
     const char         *domain,        /* I - Domain. ".local" for now */
-    void               *context)       /* I - User-defined context */
+    void               *context)       /* I - Printer */
 {
   cupsd_printer_t *p = (cupsd_printer_t *)context;
                                        /* Current printer */
@@ -788,245 +958,330 @@ dnssdRegisterCallback(
   }
 }
 
+#  else /* HAVE_AVAHI */
+static void
+dnssdRegisterCallback(
+    AvahiEntryGroup      *srv,         /* I - Service */
+    AvahiEntryGroupState state,                /* I - Registration state */
+    void                 *context)     /* I - Printer */
+{
+  cupsd_printer_t *p = (cupsd_printer_t *)context;
+                                       /* Current printer */
+
+  cupsdLogMessage(CUPSD_LOG_DEBUG2,
+                  "dnssdRegisterCallback(srv=%p, state=%d, context=%p) "
+                  "for %s (%s)", srv, state, context,
+                  p ? p->name : "Web Interface",
+                 p ? (p->reg_name ? p->reg_name : "(null)") : "NA");
+
+  /* TODO: Handle collisions with avahi_alternate_service_name(p->reg_name)? */
+}
+#  endif /* HAVE_DNSSD */
+
 
 /*
- * 'dnssdRegisterPrinter()' - Start sending broadcast information for a printer
- *                           or update the broadcast contents.
+ * 'dnssdRegisterInstance()' - Register an instance of a printer service.
  */
 
-static void
-dnssdRegisterPrinter(cupsd_printer_t *p)/* I - Printer */
+static int                             /* O - 1 on success, 0 on failure */
+dnssdRegisterInstance(
+    cupsd_srv_t     *srv,              /* O - Service */
+    cupsd_printer_t *p,                        /* I - Printer */
+    char            *name,             /* I - DNS-SD service name */
+    const char      *type,             /* I - DNS-SD service type */
+    const char      *subtypes,         /* I - Subtypes to register or NULL */
+    int             port,              /* I - Port number or 0 */
+    cupsd_txt_t     *txt,              /* I - TXT record */
+    int             commit)            /* I - Commit registration? */
 {
-  DNSServiceErrorType  se;             /* dnssd errors */
-  char                 *ipp_txt,       /* IPP TXT record buffer */
-                       *printer_txt,   /* LPD TXT record buffer */
-                       name[1024],     /* Service name */
-                       *nameptr;       /* Pointer into name */
-  int                  ipp_len,        /* IPP TXT record length */
-                       printer_len,    /* LPD TXT record length */
-                       printer_port;   /* LPD port number */
-  const char           *regtype;       /* Registration type */
+  char temp[256],                      /* Temporary string */
+       *ptr;                           /* Pointer into string */
+  int  error;                          /* Any error */
 
 
-  cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdRegisterPrinter(%s) %s", p->name,
-                  !p->ipp_ref ? "new" : "update");
+  cupsdLogMessage(CUPSD_LOG_DEBUG,
+                 "Registering \"%s\" with DNS-SD type \"%s\".", name, type);
 
- /*
-  * If per-printer sharing was just disabled make sure we're not
-  * registered before returning.
-  */
+  if (p && !srv)
+  {
+   /*
+    * Assign the correct pointer for "srv"...
+    */
 
-  if (!p->shared)
+#  ifdef HAVE_DNSSD
+    if (!strcmp(type, "_printer._tcp"))
+      srv = &p->printer_srv;           /* Target LPD service */
+#    ifdef HAVE_SSL
+    else if (!strcmp(type, "_ipps._tcp"))
+      srv = &p->ipps_srv;              /* Target IPPS service */
+#    endif /* HAVE_SSL */
+    else
+      srv = &p->ipp_srv;               /* Target IPP service */
+
+#  else /* HAVE_AVAHI */
+    srv = &p->ipp_srv;                 /* Target service group */
+#  endif /* HAVE_DNSSD */
+  }
+
+#  ifdef HAVE_DNSSD
+  (void)commit;
+
+#  else /* HAVE_AVAHI */
+  avahi_threaded_poll_lock(DNSSDMaster);
+
+  if (!*srv)
+    *srv = avahi_entry_group_new(DNSSDClient, dnssdRegisterCallback, NULL);
+  if (!*srv)
   {
-    dnssdDeregisterPrinter(p);
-    return;
+    avahi_threaded_poll_unlock(DNSSDMaster);
+
+    cupsdLogMessage(CUPSD_LOG_WARN, "DNS-SD registration of \"%s\" failed: %s",
+                    name, dnssdErrorString(avahi_client_errno(DNSSDClient)));
+    return (0);
   }
+#  endif /* HAVE_DNSSD */
 
  /*
-  * The registered name takes the form of "<printer-info> @ <computer name>"...
+  * Make sure the name is <= 63 octets, and when we truncate be sure to
+  * properly truncate any UTF-8 characters...
   */
 
-  if (p->info && strlen(p->info) > 0)
+  ptr = name + strlen(name);
+  while ((ptr - name) > 63)
   {
-    if (DNSSDComputerName)
-      snprintf(name, sizeof(name), "%s @ %s", p->info, DNSSDComputerName);
-    else
-      strlcpy(name, p->info, sizeof(name));
+    do
+    {
+      ptr --;
+    }
+    while (ptr > name && (*ptr & 0xc0) == 0x80);
+
+    if (ptr > name)
+      *ptr = '\0';
   }
-  else if (DNSSDComputerName)
-    snprintf(name, sizeof(name), "%s @ %s", p->name, DNSSDComputerName);
-  else
-    strlcpy(name, p->name, sizeof(name));
 
  /*
-  * If an existing printer was renamed, unregister it and start over...
+  * Register the service...
   */
 
-  if (p->reg_name && strcmp(p->reg_name, name))
-    dnssdDeregisterPrinter(p);
+#  ifdef HAVE_DNSSD
+  if (subtypes)
+    snprintf(temp, sizeof(temp), "%s,%s", type, subtypes);
+  else
+    strlcpy(temp, type, sizeof(temp));
 
-  if (!p->reg_name)
+  *srv  = DNSSDMaster;
+  error = DNSServiceRegister(srv, kDNSServiceFlagsShareConnection,
+                            0, name, temp, NULL, NULL, htons(port),
+                            txt ? TXTRecordGetLength(txt) : 0,
+                            txt ? TXTRecordGetBytesPtr(txt) : NULL,
+                            dnssdRegisterCallback, p);
+
+#  else /* HAVE_AVAHI */
+  if (txt)
   {
-    cupsdSetString(&p->reg_name, name);
-    cupsArrayAdd(DNSSDPrinters, p);
+    AvahiStringList *temptxt;
+    for (temptxt = *txt; temptxt; temptxt = temptxt->next)
+      cupsdLogMessage(CUPSD_LOG_DEBUG, "DNS_SD \"%s\" %s", name, temptxt->text);
   }
 
- /*
-  * Register IPP and (optionally) LPD...
-  */
+  error = avahi_entry_group_add_service_strlst(*srv, AVAHI_IF_UNSPEC,
+                                               AVAHI_PROTO_UNSPEC, 0, name,
+                                               type, NULL, NULL, port,
+                                               txt ? *txt : NULL);
+  if (error)
+    cupsdLogMessage(CUPSD_LOG_DEBUG, "DNS-SD service add for \"%s\" failed.",
+                    name);
 
-  ipp_len = 0;                         /* anti-compiler-warning-code */
-  ipp_txt = dnssdBuildTxtRecord(&ipp_len, p, 0);
-
-  if (p->ipp_ref &&
-      (ipp_len != p->ipp_len || memcmp(ipp_txt, p->ipp_txt, ipp_len)))
+  if (!error && subtypes)
   {
    /*
-    * Update the existing registration...
+    * Register all of the subtypes...
     */
 
-    /* A TTL of 0 means use record's original value (Radar 3176248) */
-    if ((se = DNSServiceUpdateRecord(p->ipp_ref, NULL, 0, ipp_len, ipp_txt,
-                                    0)) == kDNSServiceErr_NoError)
-    {
-      if (p->ipp_txt)
-       free(p->ipp_txt);
+    char       *start,                 /* Start of subtype */
+               subtype[256];           /* Subtype string */
 
-      p->ipp_txt = ipp_txt;
-      p->ipp_len = ipp_len;
-      ipp_txt    = NULL;
-    }
-    else
+    strlcpy(temp, subtypes, sizeof(temp));
+
+    for (start = temp; *start; start = ptr)
     {
      /*
-      * Failed to update record, lets close this reference and move on...
+      * Skip leading whitespace...
       */
 
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                     "Unable to update IPP DNS-SD record for %s - %d", p->name,
-                     se);
+      while (*start && isspace(*start & 255))
+        start ++;
+
+     /*
+      * Grab everything up to the next comma or the end of the string...
+      */
+
+      for (ptr = start; *ptr && *ptr != ','; ptr ++);
+
+      if (*ptr)
+        *ptr++ = '\0';
+
+      if (!*start)
+        break;
 
-      DNSServiceRefDeallocate(p->ipp_ref);
-      p->ipp_ref = NULL;
+     /*
+      * Register the subtype...
+      */
+
+      snprintf(subtype, sizeof(subtype), "%s._sub.%s", start, type);
+
+      error = avahi_entry_group_add_service_subtype(*srv, AVAHI_IF_UNSPEC,
+                                                    AVAHI_PROTO_UNSPEC, 0,
+                                                    name, type, NULL, subtype);
+      if (error)
+      {
+        cupsdLogMessage(CUPSD_LOG_DEBUG,
+                        "DNS-SD subtype %s registration for \"%s\" failed." ,
+                        subtype, name);
+        break;
+      }
     }
   }
 
-  if (!p->ipp_ref)
+  if (!error && commit)
   {
-   /*
-    * Initial registration.  Use the _fax-ipp regtype for fax queues...
-    */
+    if ((error = avahi_entry_group_commit(*srv)) != 0)
+      cupsdLogMessage(CUPSD_LOG_DEBUG, "DNS-SD commit of \"%s\" failed.",
+                      name);
+  }
 
-    regtype = (p->type & CUPS_PRINTER_FAX) ? "_fax-ipp._tcp" : DNSSDRegType;
+  avahi_threaded_poll_unlock(DNSSDMaster);
+#  endif /* HAVE_DNSSD */
 
-    cupsdLogMessage(CUPSD_LOG_DEBUG,
-                   "Registering DNS-SD printer %s with name \"%s\" and "
-                   "type \"%s\"", p->name, name, regtype);
+  if (error)
+  {
+    cupsdLogMessage(CUPSD_LOG_WARN, "DNS-SD registration of \"%s\" failed: %s",
+                    name, dnssdErrorString(error));
+    cupsdLogMessage(CUPSD_LOG_DEBUG, "DNS-SD type: %s", type);
+    if (subtypes)
+      cupsdLogMessage(CUPSD_LOG_DEBUG, "DNS-SD sub-types: %s", subtypes);
+  }
 
-   /*
-    * Register the queue, dropping characters as needed until we succeed...
-    */
+  return (!error);
+}
 
-    nameptr = name + strlen(name);
 
-    do
-    {
-      p->ipp_ref = DNSSDRef;
-      if ((se = DNSServiceRegister(&p->ipp_ref, kDNSServiceFlagsShareConnection,
-                                   0, name, regtype, NULL, NULL,
-                                  htons(DNSSDPort), ipp_len, ipp_txt,
-                                  dnssdRegisterCallback,
-                                  p)) == kDNSServiceErr_BadParam)
-      {
-       /*
-        * Name is too long, drop trailing characters, taking into account
-       * UTF-8 encoding...
-       */
+/*
+ * 'dnssdRegisterPrinter()' - Start sending broadcast information for a printer
+ *                           or update the broadcast contents.
+ */
 
-        nameptr --;
+static void
+dnssdRegisterPrinter(cupsd_printer_t *p)/* I - Printer */
+{
+  char         name[256];              /* Service name */
+  int          printer_port;           /* LPD port number */
+  int          status;                 /* Registration status */
+  cupsd_txt_t  ipp_txt,                /* IPP(S) TXT record */
+               printer_txt;            /* LPD TXT record */
 
-        while (nameptr > name && (*nameptr & 0xc0) == 0x80)
-         nameptr --;
+  cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdRegisterPrinter(%s) %s", p->name,
+                  !p->ipp_srv ? "new" : "update");
 
-        if (nameptr > name)
-          *nameptr = '\0';
-      }
-    }
-    while (se == kDNSServiceErr_BadParam && nameptr > name);
+ /*
+  * Remove the current registrations if we have them and then return if
+  * per-printer sharing was just disabled...
+  */
 
-    if (se == kDNSServiceErr_NoError)
+  dnssdDeregisterPrinter(p, 0);
+
+  if (!p->shared)
+    return;
+
+ /*
+  * Set the registered name as needed; the registered name takes the form of
+  * "<printer-info> @ <computer name>"...
+  */
+
+  if (!p->reg_name)
+  {
+    if (p->info && strlen(p->info) > 0)
     {
-      p->ipp_txt = ipp_txt;
-      p->ipp_len = ipp_len;
-      ipp_txt    = NULL;
+      if (DNSSDComputerName)
+       snprintf(name, sizeof(name), "%s @ %s", p->info, DNSSDComputerName);
+      else
+       strlcpy(name, p->info, sizeof(name));
     }
+    else if (DNSSDComputerName)
+      snprintf(name, sizeof(name), "%s @ %s", p->name, DNSSDComputerName);
     else
-      cupsdLogMessage(CUPSD_LOG_WARN,
-                      "DNS-SD IPP registration of \"%s\" failed: %d",
-                     p->name, se);
+      strlcpy(name, p->name, sizeof(name));
   }
+  else
+    strlcpy(name, p->reg_name, sizeof(name));
 
-  if (ipp_txt)
-    free(ipp_txt);
+ /*
+  * Register IPP and LPD...
+  *
+  * We always must register the "_printer" service type in order to reserve
+  * our name, but use port number 0 if we haven't actually configured cups-lpd
+  * to share via LPD...
+  */
+
+  ipp_txt     = dnssdBuildTxtRecord(p, 0);
+  printer_txt = dnssdBuildTxtRecord(p, 1);
 
   if (BrowseLocalProtocols & BROWSE_LPD)
-  {
-    printer_len  = 0;                  /* anti-compiler-warning-code */
     printer_port = 515;
-    printer_txt  = dnssdBuildTxtRecord(&printer_len, p, 1);
-  }
   else
-  {
-    printer_len  = 0;
     printer_port = 0;
-    printer_txt  = NULL;
-  }
 
-  if (p->printer_ref &&
-      (printer_len != p->printer_len ||
-       memcmp(printer_txt, p->printer_txt, printer_len)))
+  status = dnssdRegisterInstance(NULL, p, name, "_printer._tcp", NULL,
+                                 printer_port, &printer_txt, 0);
+
+#  ifdef HAVE_SSL
+  if (status)
+    dnssdRegisterInstance(NULL, p, name, "_ipps._tcp", DNSSDSubTypes,
+                         DNSSDPort, &ipp_txt, 0);
+#  endif /* HAVE_SSL */
+
+  if (status)
   {
    /*
-    * Update the existing registration...
+    * Use the "_fax-ipp" service type for fax queues, otherwise use "_ipp"...
     */
 
-    /* A TTL of 0 means use record's original value (Radar 3176248) */
-    if ((se = DNSServiceUpdateRecord(p->printer_ref, NULL, 0, printer_len,
-                                    printer_txt,
-                                    0)) == kDNSServiceErr_NoError)
-    {
-      if (p->printer_txt)
-       free(p->printer_txt);
-
-      p->printer_txt = printer_txt;
-      p->printer_len = printer_len;
-      printer_txt    = NULL;
-    }
+    if (p->type & CUPS_PRINTER_FAX)
+      status = dnssdRegisterInstance(NULL, p, name, "_fax-ipp._tcp",
+                                     DNSSDSubTypes, DNSSDPort, &ipp_txt, 1);
     else
-    {
-     /*
-      * Failed to update record, lets close this reference and move on...
-      */
-
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                     "Unable to update LPD DNS-SD record for %s - %d",
-                     p->name, se);
-
-      DNSServiceRefDeallocate(p->printer_ref);
-      p->printer_ref = NULL;
-    }
+      status = dnssdRegisterInstance(NULL, p, name, "_ipp._tcp", DNSSDSubTypes,
+                                     DNSSDPort, &ipp_txt, 1);
   }
 
-  if (!p->printer_ref)
+  dnssdFreeTxtRecord(&ipp_txt);
+  dnssdFreeTxtRecord(&printer_txt);
+
+  if (status)
   {
    /*
-    * Initial registration...
+    * Save the registered name and add the printer to the array of DNS-SD
+    * printers...
     */
 
-    cupsdLogMessage(CUPSD_LOG_DEBUG,
-                   "Registering DNS-SD printer %s with name \"%s\" and "
-                   "type \"_printer._tcp\"", p->name, name);
-
-    p->printer_ref = DNSSDRef;
-    if ((se = DNSServiceRegister(&p->printer_ref,
-                                kDNSServiceFlagsShareConnection,
-                                0, name, "_printer._tcp", NULL, NULL,
-                                htons(printer_port), printer_len, printer_txt,
-                                dnssdRegisterCallback,
-                                p)) == kDNSServiceErr_NoError)
-    {
-      p->printer_txt = printer_txt;
-      p->printer_len = printer_len;
-      printer_txt    = NULL;
-    }
-    else
-      cupsdLogMessage(CUPSD_LOG_WARN,
-                     "DNS-SD LPD registration of \"%s\" failed: %d",
-                     p->name, se);
+    cupsdSetString(&p->reg_name, name);
+    cupsArrayAdd(DNSSDPrinters, p);
   }
+  else
+  {
+   /*
+    * Registration failed for this printer...
+    */
 
-  if (printer_txt)
-    free(printer_txt);
+    dnssdDeregisterInstance(&p->ipp_srv);
+
+#  ifdef HAVE_DNSSD
+#    ifdef HAVE_SSL
+    dnssdDeregisterInstance(&p->ipps_srv);
+#    endif /* HAVE_SSL */
+    dnssdDeregisterInstance(&p->printer_srv);
+#  endif /* HAVE_DNSSD */
+  }
 }
 
 
@@ -1047,22 +1302,27 @@ dnssdStop(void)
   for (p = (cupsd_printer_t *)cupsArrayFirst(Printers);
        p;
        p = (cupsd_printer_t *)cupsArrayNext(Printers))
-    dnssdDeregisterPrinter(p);
+    dnssdDeregisterPrinter(p, 1);
 
  /*
   * Shutdown the rest of the service refs...
   */
 
-  if (WebIFRef)
-  {
-    DNSServiceRefDeallocate(WebIFRef);
-    WebIFRef = NULL;
-  }
+  dnssdDeregisterInstance(&WebIFSrv);
+
+#  ifdef HAVE_DNSSD
+  cupsdRemoveSelect(DNSServiceRefSockFD(DNSSDMaster));
+
+  DNSServiceRefDeallocate(DNSSDMaster);
+  DNSSDMaster = NULL;
 
-  cupsdRemoveSelect(DNSServiceRefSockFD(DNSSDRef));
+#  else /* HAVE_AVAHI */
+  avahi_client_free(DNSSDClient);
+  DNSSDClient = NULL;
 
-  DNSServiceRefDeallocate(DNSSDRef);
-  DNSSDRef = NULL;
+  avahi_threaded_poll_free(DNSSDMaster);
+  DNSSDMaster = NULL;
+#  endif /* HAVE_DNSSD */
 
   cupsArrayDelete(DNSSDPrinters);
   DNSSDPrinters = NULL;
@@ -1071,6 +1331,7 @@ dnssdStop(void)
 }
 
 
+#  ifdef HAVE_DNSSD
 /*
  * 'dnssdUpdate()' - Handle DNS-SD queries.
  */
@@ -1081,7 +1342,7 @@ dnssdUpdate(void)
   DNSServiceErrorType  sdErr;          /* Service discovery error */
 
 
-  if ((sdErr = DNSServiceProcessResult(DNSSDRef)) != kDNSServiceErr_NoError)
+  if ((sdErr = DNSServiceProcessResult(DNSSDMaster)) != kDNSServiceErr_NoError)
   {
     cupsdLogMessage(CUPSD_LOG_ERROR,
                     "DNS Service Discovery registration error %d!",
@@ -1089,6 +1350,7 @@ dnssdUpdate(void)
     dnssdStop();
   }
 }
+#  endif /* HAVE_DNSSD */
 
 
 /*
@@ -1168,7 +1430,7 @@ get_auth_info_required(
 
   return ("none");
 }
-#endif /* HAVE_DNSSD */
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 
 
 #ifdef __APPLE__
index 0625fd1ca1e503b6e0f284f00678161c05874a5f..39b74ce9c31f32eab9a70fcb5733fd4cd051b855 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Directory services definitions for the CUPS scheduler.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -34,24 +34,31 @@ VAR int                     Browsing        VALUE(TRUE),
                        BrowseLocalProtocols
                                        VALUE(BROWSE_ALL);
                                        /* Protocols to support for local printers */
-#ifdef HAVE_DNSSD
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
 VAR char               *DNSSDComputerName VALUE(NULL),
                                        /* Computer/server name */
                        *DNSSDHostName  VALUE(NULL),
                                        /* Hostname */
-                       *DNSSDRegType VALUE(NULL);
-                                       /* Bonjour registration type */
+                       *DNSSDSubTypes VALUE(NULL);
+                                       /* Bonjour registration subtypes */
 VAR cups_array_t       *DNSSDAlias     VALUE(NULL);
                                        /* List of dynamic ServerAlias's */
 VAR int                        DNSSDPort       VALUE(0);
                                        /* Port number to register */
 VAR cups_array_t       *DNSSDPrinters  VALUE(NULL);
                                        /* Printers we have registered */
-VAR DNSServiceRef      DNSSDRef        VALUE(NULL),
+#  ifdef HAVE_DNSSD
+VAR DNSServiceRef      DNSSDMaster     VALUE(NULL);
                                        /* Master DNS-SD service reference */
-                       WebIFRef        VALUE(NULL);
+#  else /* HAVE_AVAHI */
+VAR AvahiThreadedPoll  *DNSSDMaster    VALUE(NULL);
+                                       /* Master polling interface for Avahi */
+VAR AvahiClient                *DNSSDClient    VALUE(NULL);
+                                       /* Client information */
+#  endif /* HAVE_DNSSD */
+VAR cupsd_srv_t                WebIFSrv        VALUE(NULL);
                                        /* Service reference for the web interface */
-#endif /* HAVE_DNSSD */
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 
 VAR char               *LPDConfigFile  VALUE(NULL),
                                        /* LPD configuration file */
@@ -67,9 +74,9 @@ extern void   cupsdDeregisterPrinter(cupsd_printer_t *p, int removeit);
 extern void    cupsdRegisterPrinter(cupsd_printer_t *p);
 extern void    cupsdStartBrowsing(void);
 extern void    cupsdStopBrowsing(void);
-#ifdef HAVE_DNSSD
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
 extern void    cupsdUpdateDNSSDName(void);
-#endif /* HAVE_DNSSD */
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 
 
 /*
index 53968b897b034f55637eef7f4eb3c34d6be5aa60..6f834e3192a3f8c2a18ea72a6e31576d8a57d82f 100644 (file)
@@ -14,7 +14,7 @@
  *
  * Contents:
  *
-*   cupsdAddJob()           - Add a new job to the job queue.
+ *   cupsdAddJob()             - Add a new job to the job queue.
  *   cupsdCancelJobs()         - Cancel all jobs for the given
  *                               destination/user.
  *   cupsdCheckJobs()          - Check the pending jobs and start any if the
@@ -1963,7 +1963,7 @@ cupsdLoadJob(cupsd_job_t *job)            /* I - Job */
          else if (!strcmp(line, "password"))
            cupsdSetStringf(job->auth_env + i, "AUTH_PASSWORD=%s", data);
          else if (!strcmp(line, "negotiate"))
-           cupsdSetStringf(job->auth_env + i, "AUTH_NEGOTIATE=%s", line);
+           cupsdSetStringf(job->auth_env + i, "AUTH_NEGOTIATE=%s", data);
          else
            continue;
 
@@ -3189,16 +3189,15 @@ finalize_job(cupsd_job_t *job,          /* I - Job */
 
       case CUPS_BACKEND_CANCEL :
          /*
-         * Abort the job...
+         * Cancel the job...
          */
 
          if (job_state == IPP_JOB_COMPLETED)
          {
-           job_state = IPP_JOB_ABORTED;
-           message   = "Job aborted due to backend errors; please consult "
-                       "the error_log file for details.";
+           job_state = IPP_JOB_CANCELED;
+           message   = "Job canceled at printer.";
 
-           ippSetString(job->attrs, &job->reasons, 0, "aborted-by-system");
+           ippSetString(job->attrs, &job->reasons, 0, "canceled-at-device");
          }
           break;
 
index c61246509d84b811d17702bc19da01f3bc9f8058..a98027ee13dc43ac2a7e30529527b923e48c90fb 100644 (file)
@@ -145,10 +145,6 @@ main(int  argc,                            /* I - Number of command-line args */
   int                  launchd_idle_exit;
                                        /* Idle exit on select timeout? */
 #endif /* HAVE_LAUNCHD */
-#ifdef HAVE_AVAHI
-  cupsd_timeout_t      *tmo;           /* Next scheduled timed callback */
-  long                 tmo_delay;      /* Time before it must be called */
-#endif /* HAVE_AVAHI */
 
 
 #ifdef HAVE_GETEUID
@@ -862,16 +858,6 @@ main(int  argc,                            /* I - Number of command-line args */
     }
 #endif /* __APPLE__ */
 
-#ifdef HAVE_AVAHI
-   /*
-    * If a timed callback is due, run it.
-    */
-
-    tmo = cupsdNextTimeout(&tmo_delay);
-    if (tmo && tmo_delay == 0)
-      cupsdRunTimeout(tmo);
-#endif /* HAVE_AVAHI */
-
 #ifndef __APPLE__
    /*
     * Update the network interfaces once a minute...
@@ -1618,7 +1604,7 @@ process_children(void)
        }
 
        if (status && status != SIGTERM && status != SIGKILL &&
-           status != SIGPIPE && job->status >= 0)
+           status != SIGPIPE)
        {
         /*
          * An error occurred; save the exit status so we know to stop
@@ -1626,12 +1612,24 @@ process_children(void)
          *
          * A negative status indicates that the backend failed and the
          * printer needs to be stopped.
+         *
+         * In order to preserve the most serious status, we always log
+         * when a process dies due to a signal (e.g. SIGABRT, SIGSEGV,
+         * and SIGBUS) and prefer to log the backend exit status over a
+         * filter's.
          */
 
-         if (job->filters[i])
-           job->status = status;       /* Filter failed */
-         else
-           job->status = -status;      /* Backend failed */
+         int old_status = abs(job->status);
+
+          if (WIFSIGNALED(status) ||   /* This process crashed, or */
+              !job->status ||          /* No process had a status, or */
+              (!job->filters[i] && WIFEXITED(old_status)))
+          {                            /* Backend and filter didn't crash */
+           if (job->filters[i])
+             job->status = status;     /* Filter failed */
+           else
+             job->status = -status;    /* Backend failed */
+          }
 
          if (job->state_value == IPP_JOB_PROCESSING &&
              job->status_level > CUPSD_LOG_ERROR &&
@@ -1773,10 +1771,6 @@ select_timeout(int fds)                  /* I - Number of descriptors returned */
   cupsd_job_t          *job;           /* Job information */
   cupsd_subscription_t *sub;           /* Subscription information */
   const char           *why;           /* Debugging aid */
-#ifdef HAVE_AVAHI
-  cupsd_timeout_t      *tmo;           /* Timed callback */
-  long                 tmo_delay;      /* Seconds before calling it */
-#endif /* HAVE_AVAHI */
 
 
   cupsdLogMessage(CUPSD_LOG_DEBUG2, "select_timeout: JobHistoryUpdate=%ld",
@@ -1822,19 +1816,6 @@ select_timeout(int fds)                  /* I - Number of descriptors returned */
   }
 #endif /* __APPLE__ */
 
-#ifdef HAVE_AVAHI
- /*
-  * See if there are any scheduled timed callbacks to run.
-  */
-
-  if ((tmo = cupsdNextTimeout(&tmo_delay)) != NULL &&
-      (now + tmo_delay) < timeout)
-  {
-    timeout = tmo_delay;
-    why     = "run a timed callback";
-  }
-#endif /* HAVE_AVAHI */
-
  /*
   * Check whether we are accepting new connections...
   */
@@ -2035,8 +2016,7 @@ usage(int status)                 /* O - Exit status */
 
   _cupsLangPuts(fp, _("Usage: cupsd [options]"));
   _cupsLangPuts(fp, _("Options:"));
-  _cupsLangPuts(fp, _("  -c config-file          Load alternate configuration "
-                      "file."));
+  _cupsLangPuts(fp, _("  -c cupsd.conf           Set cupsd.conf file to use."));
   _cupsLangPuts(fp, _("  -f                      Run in the foreground."));
   _cupsLangPuts(fp, _("  -F                      Run in the foreground but "
                       "detach from console."));
index 3189444166eed91cffa9cd6a1f6d7c1dbf052999..0119342326fd680d123303d5a1b1993c5b7d8569 100644 (file)
@@ -837,9 +837,10 @@ cupsdDeletePrinter(
   cupsdClearString(&p->alert);
   cupsdClearString(&p->alert_description);
 
-#ifdef HAVE_DNSSD
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
   cupsdClearString(&p->pdl);
-#endif /* HAVE_DNSSD */
+  cupsdClearString(&p->reg_name);
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 
   cupsArrayDelete(p->filetypes);
 
@@ -3571,7 +3572,7 @@ add_printer_formats(cupsd_printer_t *p)   /* I - Printer */
     attr->values[i].string.text = _cupsStrAlloc(mimetype);
   }
 
-#ifdef HAVE_DNSSD
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
   {
     char               pdl[1024];      /* Buffer to build pdl list */
     mime_filter_t      *filter;        /* MIME filter looping var */
@@ -3627,7 +3628,7 @@ add_printer_formats(cupsd_printer_t *p)   /* I - Printer */
 
     cupsdSetString(&p->pdl, pdl);
   }
-#endif /* HAVE_DNSSD */
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 }
 
 
index 41ae3b3f9f5a4cd7cf383020fa0ff4e42eecc037..833d2332b724010a8c39d0b55ef9d6edb355684c 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Printer definitions for the CUPS scheduler.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
 
 #ifdef HAVE_DNSSD
 #  include <dns_sd.h>
+#elif defined(HAVE_AVAHI)
+#  include <avahi-client/client.h>
+#  include <avahi-client/publish.h>
+#  include <avahi-common/error.h>
+#  include <avahi-common/thread-watch.h>
 #endif /* HAVE_DNSSD */
 #include <cups/pwg-private.h>
 
@@ -32,6 +37,20 @@ typedef struct
 } cupsd_quota_t;
 
 
+/*
+ * DNS-SD types to make the code cleaner/clearer...
+ */
+
+#ifdef HAVE_DNSSD
+typedef DNSServiceRef cupsd_srv_t;     /* Service reference */
+typedef TXTRecordRef cupsd_txt_t;      /* TXT record */
+
+#elif defined(HAVE_AVAHI)
+typedef AvahiEntryGroup *cupsd_srv_t;  /* Service reference */
+typedef AvahiStringList *cupsd_txt_t;  /* TXT record */
+#endif /* HAVE_DNSSD */
+
+
 /*
  * Printer/class information structure...
  */
@@ -92,16 +111,17 @@ struct cupsd_printer_s
   time_t       marker_time;            /* Last time marker attributes were updated */
   _ppd_cache_t *pc;                    /* PPD cache and mapping data */
 
-#ifdef HAVE_DNSSD
+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
   char         *reg_name,              /* Name used for service registration */
-               *pdl,                   /* pdl value for TXT record */
-               *ipp_txt,               /* IPP TXT record contents */
-               *printer_txt;           /* LPD TXT record contents */
-  int          ipp_len,                /* IPP TXT record length */
-               printer_len;            /* LPD TXT record length */
-  DNSServiceRef        ipp_ref,                /* Reference for _ipp._tcp,_cups */
-               printer_ref;            /* Reference for _printer._tcp */
-#endif /* HAVE_DNSSD */
+               *pdl;                   /* pdl value for TXT record */
+  cupsd_srv_t  ipp_srv;                /* IPP service(s) */
+#  ifdef HAVE_DNSSD
+#    ifdef HAVE_SSL
+  cupsd_srv_t  ipps_srv;               /* IPPS service(s) */
+#    endif /* HAVE_SSL */
+  cupsd_srv_t  printer_srv;            /* LPD service */
+#  endif /* HAVE_DNSSD */
+#endif /* HAVE_DNSSD || HAVE_AVAHI */
 };
 
 
index de6fed6782a7faf8a547b89389b9408e9c1a3d7f..178206414b4874aea4c370e196f8654137b54274 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Process management routines for the CUPS scheduler.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -365,8 +365,8 @@ cupsdStartProcess(
   if (envp)
   {
    /*
-    * Add special voodoo magic for Mac OS X - this allows Mac OS X
-    * programs to access their bundle resources properly...
+    * Add special voodoo magic for OS X - this allows OS X programs to access
+    * their bundle resources properly...
     */
 
     if ((linkbytes = readlink(command, linkpath, sizeof(linkpath) - 1)) > 0)
@@ -577,7 +577,7 @@ cupsdStartProcess(
   {
     if (!process_array)
       process_array = cupsArrayNew((cups_array_func_t)compare_procs, NULL);
+
     if (process_array)
     {
       if ((proc = calloc(1, sizeof(cupsd_proc_t) + strlen(command))) != NULL)
diff --git a/scheduler/timeout.c b/scheduler/timeout.c
deleted file mode 100644 (file)
index 2c3b376..0000000
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
- * "$Id$"
- *
- *   Timeout functions for the CUPS Scheduler.
- *
- *   Copyright 2012 by Apple Inc.
- *
- *   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/".
- *
- *   Copyright (C) 2010, 2011 Red Hat, Inc.
- *   Authors:
- *     Tim Waugh <twaugh@redhat.com>
- *
- *   Redistribution and use in source and binary forms, with or without
- *   modification, are permitted provided that the following conditions
- *   are met:
- *
- *   Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- *   Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- *   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- *   COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- *   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- *   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- *   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- *   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- *   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- *   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- *   OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Contents:
- *
- *   cupsdAddTimeout()   - Add a timed callback.
- *   cupsdNextTimeout()   - Find the next enabled timed callback.
- *   cupsdRemoveTimeout() - Discard a timed callback.
- *   cupsdRunTimeout()   - Run a timed callback.
- *   cupsdUpdateTimeout() - Adjust the time of a timed callback or disable it.
- *   compare_addrs()     - Compare pointers for array sorting.
- *   compare_timeouts()   - Compare timed callbacks for array sorting.
- */
-
-#include "cupsd.h"
-#ifdef HAVE_AVAHI /* Applies to entire file... */
-
-/*
- * Include necessary headers...
- */
-
-#  include <avahi-common/timeval.h>
-
-
-/*
- * Local types...
- */
-
-struct _cupsd_timeout_s                        /* Timeout data */
-{
-  struct timeval       when;           /* When to fire timeout */
-  int                  enabled;        /* Is the timeout enabled? */
-  cupsd_timeoutfunc_t  callback;       /* Timeout callback */
-  void                 *data;          /* User data for callback */
-};
-
-
-/*
- * Local functions...
- */
-
-static int     compare_addrs(void *p0, void *p1);
-static int     compare_timeouts(cupsd_timeout_t *p0, cupsd_timeout_t *p1);
-
-
-/*
- * 'cupsdAddTimeout()' - Add a timed callback.
- */
-
-cupsd_timeout_t *                      /* O - Timeout handle */
-cupsdAddTimeout(
-    const struct timeval *tv,          /* I - Absolute time */
-    cupsd_timeoutfunc_t  cb,           /* I - Callback function */
-    void                 *data)                /* I - User data */
-{
-  cupsd_timeout_t *timeout;            /* I - New timeout */
-
-
-  if ((timeout = calloc(1, sizeof(cupsd_timeout_t))) != NULL)
-  {
-    timeout->enabled = (tv != NULL);
-    if (tv)
-      timeout->when = *tv;
-
-    timeout->callback = cb;
-    timeout->data     = data;
-
-    if (!Timeouts)
-      Timeouts = cupsArrayNew((cups_array_func_t)compare_timeouts, NULL);
-
-    cupsArrayAdd(Timeouts, timeout);
-  }
-
-  return (timeout);
-}
-
-
-/*
- * 'cupsdNextTimeout()' - Find the next enabled timed callback.
- */
-
-cupsd_timeout_t *                      /* O - Next enabled timeout or NULL */
-cupsdNextTimeout(long *delay)          /* O - Seconds before scheduled */
-{
-  cupsd_timeout_t *first = cupsArrayFirst(Timeouts);
-                                       /* First timeout */
-  struct timeval curtime;              /* Current time */
-
-
-  if (first && !first->enabled)
-    first = NULL;
-
-  if (first && delay)
-  {
-    gettimeofday(&curtime, NULL);
-    if (avahi_timeval_compare(&curtime, &first->when) > 0)
-      *delay = 0;
-    else
-    {
-      *delay = 1 + first->when.tv_sec - curtime.tv_sec;
-      if (first->when.tv_usec < curtime.tv_usec)
-       (*delay) --;
-    }
-  }
-
-  return (first);
-}
-
-
-/*
- * 'cupsdRemoveTimeout()' - Discard a timed callback.
- */
-
-void
-cupsdRemoveTimeout(
-    cupsd_timeout_t *timeout)          /* I - Timeout */
-{
-  cupsArrayRemove(Timeouts, timeout);
-  free(timeout);
-}
-
-
-/*
- * 'cupsdRunTimeout()' - Run a timed callback.
- */
-
-void
-cupsdRunTimeout(
-    cupsd_timeout_t *timeout)          /* I - Timeout */
-{
-  if (timeout)
-  {
-    timeout->enabled = 0;
-    if (timeout->callback)
-      (*timeout->callback)(timeout, timeout->data);
-  }
-}
-
-
-/*
- * 'cupsdUpdateTimeout()' - Adjust the time of a timed callback or disable it.
- */
-
-void
-cupsdUpdateTimeout(
-    cupsd_timeout_t      *timeout,     /* I - Timeout */
-    const struct timeval *tv)          /* I - Absolute time or NULL */
-{
-  cupsArrayRemove(Timeouts, timeout);
-  timeout->enabled = (tv != NULL);
-
-  if (tv)
-    timeout->when = *tv;
-
-  cupsArrayAdd(Timeouts, timeout);
-}
-
-
-/*
- * 'compare_addrs()' - Compare pointers for array sorting.
- */
-
-static int                             /* O - Result of comparison */
-compare_addrs(void *p0,                        /* I - First pointer */
-              void *p1)                        /* I - Second pointer */
-{
-  if (p0 == p1)
-    return (0);
-  else if (p0 < p1)
-    return (-1);
-  else
-    return (1);
-}
-
-
-/*
- * 'compare_timeouts()' - Compare timed callbacks for array sorting.
- */
-
-static int                             /* O - Result of comparison */
-compare_timeouts(cupsd_timeout_t *p0,  /* I - First timeout */
-                 cupsd_timeout_t *p1)  /* I - Second timeout */
-{
-  int addrsdiff = compare_addrs (p0, p1);
-                                       /* Address difference */
-  int tvdiff;                          /* Time difference */
-
-
-  if (addrsdiff == 0)
-    return (0);
-
-  if (!p0->enabled || !p1->enabled)
-  {
-    if (!p0->enabled && !p1->enabled)
-      return (addrsdiff);
-
-    return (p0->enabled ? -1 : 1);
-  }
-
-  tvdiff = avahi_timeval_compare(&p0->when, &p1->when);
-  if (tvdiff != 0)
-    return (tvdiff);
-
-  return (addrsdiff);
-}
-#endif /* HAVE_AVAHI */
-
-
-/*
- * End of "$Id$".
- */
index 95c294dd71b0267c07054a3609f9b7fac7d703f9..fc55d5799d460e8d58859676d75b5cccb1798db2 100644 (file)
@@ -170,7 +170,7 @@ cupsdCreateStringsArray(const char *s)      /* I - Comma-delimited strings */
 /*
  * 'cupsdExec()' - Run a program with the correct environment.
  *
- * On Mac OS X, we need to update the CFProcessPath environment variable that
+ * On OS X, we need to update the CFProcessPath environment variable that
  * is passed in the environment so the child can access its bundled resources.
  */
 
@@ -187,7 +187,7 @@ cupsdExec(const char *command,              /* I - Full path to program */
 
 
  /*
-  * Some Mac OS X programs are bundled and need the CFProcessPath environment
+  * Some OS X programs are bundled and need the CFProcessPath environment
   * variable defined.  If the command is a symlink, resolve the link and point
   * to the resolved location, otherwise, use the command path itself.
   */
index 35ba2523387ad512580e500bce0079916cd01d2b..84fc07b475baf177689a259602cd38cf028fba65 100644 (file)
@@ -1,92 +1,93 @@
-cancel.o: cancel.c ../cups/cups-private.h ../cups/cups.h ../cups/file.h \
-  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
-  ../cups/language.h ../cups/string-private.h ../config.h \
-  ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h \
-  ../cups/pwg-private.h ../cups/http-private.h ../cups/md5-private.h \
-  ../cups/ipp-private.h ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
-cupsaccept.o: cupsaccept.c ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h
-cupsaddsmb.o: cupsaddsmb.c ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/adminutil.h
-cupsctl.o: cupsctl.c ../cups/cups-private.h ../cups/cups.h ../cups/file.h \
-  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
-  ../cups/language.h ../cups/string-private.h ../config.h \
-  ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h \
-  ../cups/pwg-private.h ../cups/http-private.h ../cups/md5-private.h \
-  ../cups/ipp-private.h ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h ../cups/adminutil.h
-cupstestdsc.o: cupstestdsc.c ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h
-cupstestppd.o: cupstestppd.c ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h ../cups/dir.h \
-  ../cups/raster.h
-lp.o: lp.c ../cups/cups-private.h ../cups/cups.h ../cups/file.h \
-  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
-  ../cups/language.h ../cups/string-private.h ../config.h \
-  ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h \
-  ../cups/pwg-private.h ../cups/http-private.h ../cups/md5-private.h \
-  ../cups/ipp-private.h ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
-lpadmin.o: lpadmin.c ../cups/cups-private.h ../cups/cups.h ../cups/file.h \
-  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
-  ../cups/language.h ../cups/string-private.h ../config.h \
-  ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h \
-  ../cups/pwg-private.h ../cups/http-private.h ../cups/md5-private.h \
-  ../cups/ipp-private.h ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
-lpinfo.o: lpinfo.c ../cups/cups-private.h ../cups/cups.h ../cups/file.h \
-  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
-  ../cups/language.h ../cups/string-private.h ../config.h \
-  ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h \
-  ../cups/pwg-private.h ../cups/http-private.h ../cups/md5-private.h \
-  ../cups/ipp-private.h ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
-lpmove.o: lpmove.c ../cups/cups-private.h ../cups/cups.h ../cups/file.h \
-  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
-  ../cups/language.h ../cups/string-private.h ../config.h \
-  ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h \
-  ../cups/pwg-private.h ../cups/http-private.h ../cups/md5-private.h \
-  ../cups/ipp-private.h ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
-lpoptions.o: lpoptions.c ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h
-lppasswd.o: lppasswd.c ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h
-lpstat.o: lpstat.c ../cups/cups-private.h ../cups/cups.h ../cups/file.h \
-  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
-  ../cups/language.h ../cups/string-private.h ../config.h \
-  ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h \
-  ../cups/pwg-private.h ../cups/http-private.h ../cups/md5-private.h \
-  ../cups/ipp-private.h ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h
+cancel.o: cancel.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+cupsaccept.o: cupsaccept.c ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+cupsaddsmb.o: cupsaddsmb.c ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/adminutil.h
+cupsctl.o: cupsctl.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/adminutil.h
+cupstestdsc.o: cupstestdsc.c ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+cupstestppd.o: cupstestppd.c ../cups/cups-private.h \
+  ../cups/string-private.h ../config.h ../cups/debug-private.h \
+  ../cups/versioning.h ../cups/ipp-private.h ../cups/ipp.h \
+  ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/dir.h ../cups/raster.h
+lp.o: lp.c ../cups/cups-private.h ../cups/string-private.h ../config.h \
+  ../cups/debug-private.h ../cups/versioning.h ../cups/ipp-private.h \
+  ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/http-private.h \
+  ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \
+  ../cups/language.h ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+lpadmin.o: lpadmin.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+lpinfo.o: lpinfo.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+lpmove.o: lpmove.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+lpoptions.o: lpoptions.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+lppasswd.o: lppasswd.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+lpstat.o: lpstat.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
index 946c620805e918157ead206a9eb31fa5b8855fca..2ce91ccc4375d243328ffebd5829e649c1a309a9 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   "cupsaddsmb" command for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 2001-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -282,17 +282,13 @@ usage(void)
   _cupsLangPuts(stdout, _("       cupsaddsmb [options] -a"));
   _cupsLangPuts(stdout, "");
   _cupsLangPuts(stdout, _("Options:"));
-  _cupsLangPuts(stdout, _("  -E                      Encrypt the connection to "
-                          "the server."));
+  _cupsLangPuts(stdout, _("  -E                      Encrypt the connection."));
   _cupsLangPuts(stdout, _("  -H samba-server         Use the named SAMBA "
                           "server."));
-  _cupsLangPuts(stdout, _("  -U samba-user           Authenticate using the "
-                          "named SAMBA user."));
+  _cupsLangPuts(stdout, _("  -U username             Specify username."));
   _cupsLangPuts(stdout, _("  -a                      Export all printers."));
-  _cupsLangPuts(stdout, _("  -h cups-server          Use the named CUPS "
-                          "server."));
-  _cupsLangPuts(stdout, _("  -v                      Be verbose (show "
-                          "commands)."));
+  _cupsLangPuts(stdout, _("  -h server[:port]        Specify server address."));
+  _cupsLangPuts(stdout, _("  -v                      Be verbose."));
 
   exit(1);
 }
index e65a4f77b092bad44d5351fa84b9cc4d35f5c49a..0cd2a59d787cc4926c6dddce9015928ceb5f4263 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Scheduler control program for CUPS.
  *
- *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 2007-2012 by Apple Inc.
  *   Copyright 2006-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -202,7 +202,7 @@ usage(const char *opt)                      /* I - Option character/string */
   _cupsLangPuts(stdout, "");
   _cupsLangPuts(stdout, _("Options:"));
   _cupsLangPuts(stdout, "");
-  _cupsLangPuts(stdout, _("  -E                      Enable encryption."));
+  _cupsLangPuts(stdout, _("  -E                      Encrypt the connection."));
   _cupsLangPuts(stdout, _("  -U username             Specify username."));
   _cupsLangPuts(stdout, _("  -h server[:port]        Specify server "
                           "address."));
index b96f97cabb9ec243dcfd2a67292bc798513acf08..6e5c50de96d3740193c8ce18d4da3f82297cb310 100644 (file)
@@ -331,8 +331,8 @@ main(int  argc,                             /* I - Number of command-line args */
           {
             _cupsLangPuts(stdout, _(" FAIL"));
             _cupsLangPrintf(stdout,
-                           _("      **FAIL**  Unable to open PPD file - %s"),
-                           strerror(errno));
+                           _("      **FAIL**  Unable to open PPD file - %s on "
+                             "line %d."), strerror(errno), 0);
            continue;
           }
         }
@@ -350,8 +350,8 @@ main(int  argc,                             /* I - Number of command-line args */
           {
             _cupsLangPuts(stdout, _(" FAIL"));
             _cupsLangPrintf(stdout,
-                           _("      **FAIL**  Unable to open PPD file - %s"),
-                           strerror(errno));
+                           _("      **FAIL**  Unable to open PPD file - %s on "
+                             "line %d."), strerror(errno), 0);
           }
        }
        else
@@ -511,7 +511,7 @@ main(int  argc,                             /* I - Number of command-line args */
            _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPrintf(stdout,
-                         _("      **FAIL**  BAD DefaultImageableArea %s\n"
+                         _("      **FAIL**  Bad DefaultImageableArea %s\n"
                            "                REF: Page 102, section 5.15."),
                          attr->value);
        }
@@ -547,7 +547,7 @@ main(int  argc,                             /* I - Number of command-line args */
            _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPrintf(stdout,
-                         _("      **FAIL**  BAD DefaultPaperDimension %s\n"
+                         _("      **FAIL**  Bad DefaultPaperDimension %s\n"
                            "                REF: Page 103, section 5.15."),
                          attr->value);
        }
@@ -577,7 +577,7 @@ main(int  argc,                             /* I - Number of command-line args */
                  _cupsLangPuts(stdout, _(" FAIL"));
 
                _cupsLangPrintf(stdout,
-                               _("      **FAIL**  BAD Default%s %s\n"
+                               _("      **FAIL**  Bad Default%s %s\n"
                                  "                REF: Page 40, section 4.5."),
                                option->keyword, option->defchoice);
              }
@@ -739,10 +739,11 @@ main(int  argc,                           /* I - Number of command-line args */
            if (!errors && !verbose)
              _cupsLangPuts(stdout, _(" FAIL"));
 
-           _cupsLangPuts(stdout,
-                         _("      **FAIL**  BAD Manufacturer (should be "
-                           "\"HP\")\n"
-                           "                REF: Page 211, table D.1."));
+           _cupsLangPrintf(stdout,
+                           _("      **FAIL**  Bad Manufacturer (should be "
+                             "\"%s\")\n"
+                             "                REF: Page 211, table D.1."),
+                           "HP");
           }
 
          errors ++;
@@ -755,10 +756,11 @@ main(int  argc,                           /* I - Number of command-line args */
            if (!errors && !verbose)
              _cupsLangPuts(stdout, _(" FAIL"));
 
-           _cupsLangPuts(stdout,
-                         _("      **FAIL**  BAD Manufacturer (should be "
-                           "\"Oki\")\n"
-                           "                REF: Page 211, table D.1."));
+           _cupsLangPrintf(stdout,
+                           _("      **FAIL**  Bad Manufacturer (should be "
+                             "\"%s\")\n"
+                             "                REF: Page 211, table D.1."),
+                           "Oki");
           }
 
          errors ++;
@@ -795,7 +797,7 @@ main(int  argc,                             /* I - Number of command-line args */
              _cupsLangPuts(stdout, _(" FAIL"));
 
            _cupsLangPrintf(stdout,
-                           _("      **FAIL**  BAD ModelName - \"%c\" not "
+                           _("      **FAIL**  Bad ModelName - \"%c\" not "
                              "allowed in string.\n"
                              "                REF: Pages 59-60, section 5.3."),
                            *ptr);
@@ -912,7 +914,7 @@ main(int  argc,                             /* I - Number of command-line args */
              _cupsLangPuts(stdout, _(" FAIL"));
 
            _cupsLangPuts(stdout,
-                         _("      **FAIL**  BAD Product - not \"(string)\".\n"
+                         _("      **FAIL**  Bad Product - not \"(string)\".\n"
                            "                REF: Page 62, section 5.3."));
           }
 
@@ -951,7 +953,7 @@ main(int  argc,                             /* I - Number of command-line args */
              _cupsLangPuts(stdout, _(" FAIL"));
 
            _cupsLangPuts(stdout,
-                         _("      **FAIL**  BAD PSVersion - not \"(string) "
+                         _("      **FAIL**  Bad PSVersion - not \"(string) "
                            "int\".\n"
                            "                REF: Pages 62-64, section 5.3."));
           }
@@ -986,7 +988,7 @@ main(int  argc,                             /* I - Number of command-line args */
              _cupsLangPuts(stdout, _(" FAIL"));
 
            _cupsLangPuts(stdout,
-                         _("      **FAIL**  BAD ShortNickName - longer "
+                         _("      **FAIL**  Bad ShortNickName - longer "
                            "than 31 chars.\n"
                            "                REF: Pages 64-65, section 5.3."));
           }
@@ -1020,7 +1022,7 @@ main(int  argc,                           /* I - Number of command-line args */
            _cupsLangPuts(stdout, _(" FAIL"));
 
          _cupsLangPuts(stdout,
-                       _("      **FAIL**  BAD JobPatchFile attribute in file\n"
+                       _("      **FAIL**  Bad JobPatchFile attribute in file\n"
                          "                REF: Page 24, section 3.4."));
         }
 
@@ -1144,7 +1146,7 @@ main(int  argc,                           /* I - Number of command-line args */
                _cupsLangPuts(stdout, _(" FAIL"));
 
              _cupsLangPrintf(stdout,
-                             _("      **FAIL**  Bad %s choice %s\n"
+                             _("      **FAIL**  Bad option %s choice %s\n"
                                "                REF: Page 84, section 5.9"),
                              option->keyword, choice->choice);
             }
@@ -2141,8 +2143,8 @@ check_case(ppd_file_t *ppd,               /* I - PPD file */
 
          if (verbose >= 0)
            _cupsLangPrintf(stdout,
-                           _("      **FAIL**  Multiple occurrences of %s "
-                             "choice name %s."),
+                           _("      **FAIL**  Multiple occurrences of "
+                             "option %s choice name %s."),
                            optiona->keyword, choicea->choice);
 
          errors ++;
@@ -2158,8 +2160,8 @@ check_case(ppd_file_t *ppd,               /* I - PPD file */
 
          if (verbose >= 0)
            _cupsLangPrintf(stdout,
-                           _("      **FAIL**  %s choice names %s and %s "
-                             "differ only by case."),
+                           _("      **FAIL**  Option %s choice names %s and "
+                             "%s differ only by case."),
                            optiona->keyword, choicea->choice, choiceb->choice);
 
          errors ++;
@@ -3215,17 +3217,27 @@ check_sizes(ppd_file_t *ppd,            /* I - PPD file */
                           _PWG_FROMPTS(size->width);
       pwg_media      = _pwgMediaForSize(width_2540ths, length_2540ths);
 
-      if (pwg_media && pwg_media->ppd)
+      if (pwg_media && pwg_media->ppd && (pwg_media->ppd[0] < 'a' || pwg_media->ppd[0] > 'z'))
       {
         size_t ppdlen = strlen(pwg_media->ppd);
                                        /* Length of standard PPD name */
 
         strlcpy(buf, pwg_media->ppd, sizeof(buf));
 
+        if (strcmp(size->name, buf) && size->width > size->length)
+        {
+          if (!strcmp(pwg_media->ppd, "DoublePostcardRotated"))
+            strlcpy(buf, "DoublePostcard", sizeof(buf));
+          else if (strstr(size->name, ".Transverse"))
+            snprintf(buf, sizeof(buf), "%s.Transverse", pwg_media->ppd);
+          else
+            snprintf(buf, sizeof(buf), "%sRotated", pwg_media->ppd);
+        }
+
         if (size->left == 0 && size->bottom == 0 &&
            size->right == size->width && size->top == size->length)
         {
-          snprintf(buf, sizeof(buf), "%s.Fullbleed", pwg_media->ppd);
+          strlcat(buf, ".Fullbleed", sizeof(buf) - strlen(buf));
          if (_cups_strcasecmp(size->name, buf))
          {
           /*
@@ -3239,20 +3251,6 @@ check_sizes(ppd_file_t *ppd,             /* I - PPD file */
              is_ok = 0;
          }
         }
-        else if (strcmp(size->name, buf) && size->width > size->length)
-        {
-          if (!strcmp(pwg_media->ppd, "DoublePostcardRotated"))
-            strlcpy(buf, "DoublePostcard", sizeof(buf));
-          else
-           snprintf(buf, sizeof(buf), "%sRotated", pwg_media->ppd);
-
-         if (strcmp(size->name, buf))
-         {
-           snprintf(buf, sizeof(buf), "%s.Transverse", pwg_media->ppd);
-           if (strcmp(size->name, buf))
-             is_ok = 0;
-         }
-        }
        else if (!strncmp(size->name, pwg_media->ppd, ppdlen))
        {
         /*
@@ -3281,7 +3279,8 @@ check_sizes(ppd_file_t *ppd,              /* I - PPD file */
          * Check for EnvSizeName as well...
          */
 
-          if (strncmp(pwg_media->ppd, "Env", 3))
+      if (strncmp(pwg_media->ppd, "Env", 3) &&
+          !strncmp(size->name, "Env", 3))
             snprintf(buf, sizeof(buf), "Env%s", pwg_media->ppd);
 
          if (strcmp(size->name, buf))
@@ -3327,7 +3326,8 @@ check_sizes(ppd_file_t *ppd,              /* I - PPD file */
           size_t buflen = strlen(buf); /* Length of proposed name */
 
           if (_cups_strncasecmp(size->name, buf, buflen) ||
-              strcmp(size->name + buflen, "in"))
+              (strcmp(size->name + buflen, "in") &&
+               size->name[buflen] != '.'))
            _cupsLangPrintf(stdout,
                            _("      %s  Size \"%s\" should be \"%s\"."),
                            prefix, size->name, buf);
@@ -3805,7 +3805,7 @@ usage(void)
                           "errors."));
   _cupsLangPuts(stdout, _("  -q                      Run silently."));
   _cupsLangPuts(stdout, _("  -r                      Use 'relaxed' open mode."));
-  _cupsLangPuts(stdout, _("  -v                      Be slightly verbose."));
+  _cupsLangPuts(stdout, _("  -v                      Be verbose."));
   _cupsLangPuts(stdout, _("  -vv                     Be very verbose."));
 
   exit(ERROR_USAGE);
index ff30a4c6c3ffe262eceb392eca1fe6708f2b4f01..86235732e10964a9d202cf38d847fbc3d04feb93 100644 (file)
@@ -2,7 +2,7 @@
 
 <H2 CLASS="title">{?title} {?printer_name} Error</H2>
 
-<P>{?message?{message}:Error:}</P>
+<P>{?message?{message}:Error}:</P>
 
 <BLOCKQUOTE>{error}</BLOCKQUOTE>
 
index 85f656088430f7165a6cef81b462b4ddcacb6b2a..69b96a6f4dd68652997280e83d997857bdbb0d3b 100644 (file)
@@ -1,17 +1,18 @@
-ippserver.o: ippserver.c ../cups/cups-private.h ../cups/cups.h \
-  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h \
-  ../cups/array.h ../cups/language.h ../cups/string-private.h \
-  ../config.h ../cups/debug-private.h ../cups/ppd-private.h \
-  ../cups/ppd.h ../cups/pwg-private.h ../cups/http-private.h \
-  ../cups/md5-private.h ../cups/ipp-private.h ../cups/language-private.h \
-  ../cups/transcode.h ../cups/thread-private.h
-ipptool.o: ipptool.c ../cups/cups-private.h ../cups/cups.h ../cups/file.h \
-  ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
-  ../cups/language.h ../cups/string-private.h ../config.h \
-  ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h \
-  ../cups/pwg-private.h ../cups/http-private.h ../cups/md5-private.h \
-  ../cups/ipp-private.h ../cups/language-private.h ../cups/transcode.h \
-  ../cups/thread-private.h ../cups/file-private.h
+ippserver.o: ippserver.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h
+ipptool.o: ipptool.c ../cups/cups-private.h ../cups/string-private.h \
+  ../config.h ../cups/debug-private.h ../cups/versioning.h \
+  ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
+  ../cups/http-private.h ../cups/md5-private.h \
+  ../cups/language-private.h ../cups/transcode.h ../cups/language.h \
+  ../cups/pwg-private.h ../cups/cups.h ../cups/file.h \
+  ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \
+  ../cups/file-private.h
 xmltotest.o: xmltotest.c ../config.h ../cups/cups.h ../cups/file.h \
   ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \
   ../cups/language.h
index 11abf0aa0f3326a4e83980be40188359b4c17a51..23f2a0bdef6a9ddc0838d7acb650011c9b9b8bef 100644 (file)
@@ -15,6 +15,9 @@
 # Usage:
 #
 #   ./ipptool -f filename [-d document-uri=SOMEURI] -t printer-uri ipp-1.1.test
+#   ./ipptool -f filename -d NOPRINT=1 -t printer-uri ipp-1.1.test
+#
+# The latter form disables all but the basic file printing.
 #
 
 # Regular expressions for URI schemes:
@@ -1275,6 +1278,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test PDF output
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_PDF
        SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
 
@@ -1310,6 +1314,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_PDF
        SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_DUPLEX
@@ -1347,6 +1352,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_PDF
        SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
 
@@ -1382,6 +1388,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_PDF
        SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_DUPLEX
@@ -1421,6 +1428,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test PostScript output
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT
        SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
 
@@ -1456,6 +1464,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT
        SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_DUPLEX
@@ -1493,6 +1502,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT
        SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
 
@@ -1528,6 +1538,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT
        SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_DUPLEX
@@ -1567,6 +1578,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test JPEG output
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_JPEG
        SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
 
@@ -1602,6 +1614,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_JPEG
        SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
 
@@ -1637,6 +1650,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_JPEG
        SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA
 
@@ -1672,6 +1686,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_JPEG
        SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
 
@@ -1707,6 +1722,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_JPEG
        SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
 
@@ -1742,6 +1758,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_JPEG
        SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA
 
@@ -1779,6 +1796,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Print-Job with job-sheets
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_PDF
        SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_STANDARD_SHEET
@@ -1816,6 +1834,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_PDF
        SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_STANDARD_SHEET
@@ -1853,6 +1872,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT
        SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_STANDARD_SHEET
@@ -1890,6 +1910,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT
        SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_STANDARD_SHEET
@@ -1929,6 +1950,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test number-up output
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_PDF
        SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_2UP
@@ -1966,6 +1988,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_PDF
        SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_2UP
@@ -2003,6 +2026,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT
        SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_2UP
@@ -2040,6 +2064,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT
        SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_2UP
@@ -2079,6 +2104,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 
 # Test output with print-quality...
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_JPEG
        SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_DRAFT_QUALITY
@@ -2116,6 +2142,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_JPEG
        SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_NORMAL_QUALITY
@@ -2153,6 +2180,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_JPEG
        SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_HIGH_QUALITY
@@ -2190,6 +2218,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_PDF
        SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_DRAFT_QUALITY
@@ -2227,6 +2256,7 @@ DEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
 }
 
 {
+       SKIP-IF-DEFINED NOPRINT
        SKIP-IF-NOT-DEFINED OPTIONAL_PDF
        SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
        SKIP-IF-NOT-DEFINED OPTIONAL_DRAFT_QUALITY
index 5c1dd26f2b1dfef548e2e6ad893c4ed843aff0d2..1663da770fb3def1f6db44f60ca0ce923f5bcedb 100644 (file)
@@ -507,8 +507,8 @@ main(int  argc,                             /* I - Number of command-line args */
 
               if (Output == _CUPS_OUTPUT_PLIST && interval)
              {
-               _cupsLangPuts(stderr, _("ipptool: \"-i\" is incompatible with "
-                                       "\"-X\"."));
+               _cupsLangPuts(stderr, _("ipptool: \"-i\" and \"-n\" are "
+                                       "incompatible with -X\"."));
                usage();
              }
              break;
@@ -531,8 +531,8 @@ main(int  argc,                             /* I - Number of command-line args */
 
               if (Output == _CUPS_OUTPUT_PLIST && repeat)
              {
-               _cupsLangPuts(stderr, _("ipptool: \"-n\" is incompatible with "
-                                       "\"-X\"."));
+               _cupsLangPuts(stderr, _("ipptool: \"-i\" and \"-n\" are "
+                                       "incompatible with -X\"."));
                usage();
              }
              break;
@@ -4338,8 +4338,8 @@ usage(void)
   _cupsLangPuts(stderr, _("  -6                      Connect using IPv6."));
   _cupsLangPuts(stderr, _("  -C                      Send requests using "
                           "chunking (default)."));
-  _cupsLangPuts(stderr, _("  -E                      Test with TLS "
-                          "encryption."));
+  _cupsLangPuts(stdout, _("  -E                      Test with HTTP Upgrade to "
+                          "TLS."));
   _cupsLangPuts(stderr, _("  -I                      Ignore errors."));
   _cupsLangPuts(stderr, _("  -L                      Send requests using "
                           "content-length."));
@@ -4359,11 +4359,9 @@ usage(void)
                           "the given time interval."));
   _cupsLangPuts(stderr, _("  -n count                Repeat the last file the "
                           "given number of times."));
-  _cupsLangPuts(stderr, _("  -q                      Be quiet - no output "
-                          "except errors."));
+  _cupsLangPuts(stderr, _("  -q                      Run silently."));
   _cupsLangPuts(stderr, _("  -t                      Produce a test report."));
-  _cupsLangPuts(stderr, _("  -v                      Show all attributes sent "
-                          "and received."));
+  _cupsLangPuts(stderr, _("  -v                      Be verbose."));
 
   exit(1);
 }
index b980c64eed42a2a14138e193ee8517deeab715bd..03e80310206b2814d894070801b6f1e25f532a3f 100755 (executable)
@@ -323,7 +323,7 @@ ln -s $root/data/*.defs /tmp/cups-$user/share/ppdc
 ln -s $root/templates /tmp/cups-$user/share
 
 #
-# Mac OS X filters and configuration files...
+# Local filters and configuration files...
 #
 
 if test `uname` = Darwin; then
index bbaf2c29aa99f1ded5c7b7777bf47df2cda2b358..79ac955f6db345001d24f2bc6ad9ec4b4a2b8592 100644 (file)
 
 
 /*
- * Do we have Mac OS X 10.4's mbr_XXX functions?
+ * Do we have OS X 10.4's mbr_XXX functions?
  */
 
 /* #undef HAVE_MEMBERSHIP_H */
 
 
 /*
- * Location of Mac OS X localization bundle, if any.
+ * Location of OS X localization bundle, if any.
  */
 
 /* #undef CUPS_BUNDLEDIR */
index 66174ef801db21a2a74f295447b3be658a3b5b6c..429561178cdd59e7aa4c123ea8641b963540fffc 100644 (file)
@@ -40,7 +40,6 @@
                                274FF5E913332D4300317ECB /* PBXTargetDependency */,
                                274FF648133335A300317ECB /* PBXTargetDependency */,
                                274FF65E13333A3400317ECB /* PBXTargetDependency */,
-                               274FF67213333AE400317ECB /* PBXTargetDependency */,
                                724379531333FECE009631B9 /* PBXTargetDependency */,
                                724379111333E4EA009631B9 /* PBXTargetDependency */,
                                276683FF1337F7C5000D33D0 /* PBXTargetDependency */,
 /* End PBXAggregateTarget section */
 
 /* Begin PBXBuildFile section */
-               270CCDB9135E3D0900007BE2 /* libcups_static.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 72F75A4C1336F31B004BB496 /* libcups_static.a */; };
                270CCDBA135E3D0900007BE2 /* libcupsmime.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220FAC13330B2200FCA411 /* libcupsmime.dylib */; };
                270CCDBC135E3D3E00007BE2 /* testmime.c in Sources */ = {isa = PBXBuildFile; fileRef = 270CCDBB135E3D3E00007BE2 /* testmime.c */; };
                273BF6C71333B5370022CAAB /* testcups.c in Sources */ = {isa = PBXBuildFile; fileRef = 273BF6C61333B5370022CAAB /* testcups.c */; };
-               273BF6CE1333B5950022CAAB /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 273BF6CB1333B5950022CAAB /* CoreFoundation.framework */; };
-               273BF6CF1333B5950022CAAB /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 273BF6CC1333B5950022CAAB /* libiconv.dylib */; };
-               273BF6D01333B5950022CAAB /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 273BF6CD1333B5950022CAAB /* libz.dylib */; };
-               273BF6D31333B5C30022CAAB /* Kerberos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 273BF6D11333B5C30022CAAB /* Kerberos.framework */; };
-               273BF6D41333B5C30022CAAB /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 273BF6D21333B5C30022CAAB /* Security.framework */; };
-               273BF6D71333B5F60022CAAB /* libresolv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 273BF6D51333B5F60022CAAB /* libresolv.dylib */; };
-               273BF6D81333B5F60022CAAB /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 273BF6D61333B5F60022CAAB /* SystemConfiguration.framework */; };
                274FF5D913332CC700317ECB /* cups-driverd.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 274FF5D613332CC700317ECB /* cups-driverd.cxx */; };
                274FF5DA13332CC700317ECB /* util.c in Sources */ = {isa = PBXBuildFile; fileRef = 274FF5D713332CC700317ECB /* util.c */; };
                274FF5DD13332D0600317ECB /* libcups.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220EAE1333047D00FCA411 /* libcups.dylib */; };
                274FF64A1333398D00317ECB /* cups-exec.c in Sources */ = {isa = PBXBuildFile; fileRef = 274FF6491333398D00317ECB /* cups-exec.c */; };
                274FF658133339D300317ECB /* libcups.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220EAE1333047D00FCA411 /* libcups.dylib */; };
                274FF65C133339FC00317ECB /* cups-lpd.c in Sources */ = {isa = PBXBuildFile; fileRef = 274FF65B133339FC00317ECB /* cups-lpd.c */; };
-               274FF66E13333AB500317ECB /* libcups.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220EAE1333047D00FCA411 /* libcups.dylib */; };
-               274FF67013333ACF00317ECB /* cups-polld.c in Sources */ = {isa = PBXBuildFile; fileRef = 274FF66F13333ACF00317ECB /* cups-polld.c */; };
                274FF68513333B4300317ECB /* libcups.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220EAE1333047D00FCA411 /* libcups.dylib */; };
                274FF68613333B4300317ECB /* libcupsmime.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220FAC13330B2200FCA411 /* libcupsmime.dylib */; };
                274FF68813333B6E00317ECB /* cupsfilter.c in Sources */ = {isa = PBXBuildFile; fileRef = 274FF68713333B6E00317ECB /* cupsfilter.c */; };
                274FF6B61333B1C400317ECB /* transcode.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220F06133305BB00FCA411 /* transcode.c */; };
                274FF6B71333B1C400317ECB /* usersys.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220F08133305BB00FCA411 /* usersys.c */; };
                274FF6B81333B1C400317ECB /* util.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220F09133305BB00FCA411 /* util.c */; };
-               274FF6BA1333B1C400317ECB /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F49133306BB00FCA411 /* CoreFoundation.framework */; };
-               274FF6BB1333B1C400317ECB /* Kerberos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F55133308EA00FCA411 /* Kerberos.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
-               274FF6BC1333B1C400317ECB /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F4B133306BB00FCA411 /* Security.framework */; };
-               274FF6BD1333B1C400317ECB /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F4C133306BB00FCA411 /* SystemConfiguration.framework */; };
-               274FF6BE1333B1C400317ECB /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F51133308C100FCA411 /* libiconv.dylib */; };
-               274FF6BF1333B1C400317ECB /* libresolv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F53133308CB00FCA411 /* libresolv.dylib */; };
-               274FF6C01333B1C400317ECB /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F4A133306BB00FCA411 /* libz.dylib */; };
                274FF6C21333B1C400317ECB /* adminutil.h in Headers */ = {isa = PBXBuildFile; fileRef = 72220EB71333056300FCA411 /* adminutil.h */; settings = {ATTRIBUTES = (); }; };
                274FF6C31333B1C400317ECB /* array.h in Headers */ = {isa = PBXBuildFile; fileRef = 72220EB91333056300FCA411 /* array.h */; settings = {ATTRIBUTES = (); }; };
                274FF6C41333B1C400317ECB /* backend.h in Headers */ = {isa = PBXBuildFile; fileRef = 72220EBE1333056300FCA411 /* backend.h */; settings = {ATTRIBUTES = (); }; };
                276683FD1337F7B8000D33D0 /* libcups.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220EAE1333047D00FCA411 /* libcups.dylib */; };
                2766840F1337FA38000D33D0 /* libcups.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220EAE1333047D00FCA411 /* libcups.dylib */; };
                276684111337FA7C000D33D0 /* cupsaddsmb.c in Sources */ = {isa = PBXBuildFile; fileRef = 276684101337FA7C000D33D0 /* cupsaddsmb.c */; };
-               278C58D9136B645C00836530 /* libcups_static.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 72F75A4C1336F31B004BB496 /* libcups_static.a */; };
-               278C58DE136B645C00836530 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58DA136B645C00836530 /* CoreFoundation.framework */; };
-               278C58DF136B645C00836530 /* Kerberos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58DB136B645C00836530 /* Kerberos.framework */; };
-               278C58E1136B645C00836530 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58DD136B645C00836530 /* SystemConfiguration.framework */; };
                278C58E3136B647200836530 /* testhttp.c in Sources */ = {isa = PBXBuildFile; fileRef = 278C58E2136B647200836530 /* testhttp.c */; };
-               278C58E4136B649200836530 /* libcups_static.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 72F75A4C1336F31B004BB496 /* libcups_static.a */; };
                278C58E9136B64B000836530 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58E5136B64AF00836530 /* CoreFoundation.framework */; };
                278C58EA136B64B000836530 /* Kerberos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58E6136B64B000836530 /* Kerberos.framework */; };
                278C58EB136B64B000836530 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58E7136B64B000836530 /* Security.framework */; };
                278C58EC136B64B000836530 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58E8136B64B000836530 /* SystemConfiguration.framework */; };
-               278C58F6136B652300836530 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58F4136B652300836530 /* Security.framework */; };
                720DD6CD1358FD720064AA82 /* libcups.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220EAE1333047D00FCA411 /* libcups.dylib */; };
                720DD6D31358FDDE0064AA82 /* snmp.c in Sources */ = {isa = PBXBuildFile; fileRef = 720DD6D21358FDDE0064AA82 /* snmp.c */; };
                720DD6D413590AB90064AA82 /* ieee1284.c in Sources */ = {isa = PBXBuildFile; fileRef = 724379CA1334000E009631B9 /* ieee1284.c */; };
                72220F43133305BB00FCA411 /* util.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220F09133305BB00FCA411 /* util.c */; };
                72220F44133305BB00FCA411 /* versioning.h in Headers */ = {isa = PBXBuildFile; fileRef = 72220F0A133305BB00FCA411 /* versioning.h */; settings = {ATTRIBUTES = (Public, ); }; };
                72220F481333063D00FCA411 /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = 72220F471333063D00FCA411 /* config.h */; settings = {ATTRIBUTES = (Private, ); }; };
-               72220F4D133306BB00FCA411 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F49133306BB00FCA411 /* CoreFoundation.framework */; };
-               72220F4E133306BB00FCA411 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F4A133306BB00FCA411 /* libz.dylib */; };
-               72220F4F133306BB00FCA411 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F4B133306BB00FCA411 /* Security.framework */; };
-               72220F50133306BB00FCA411 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F4C133306BB00FCA411 /* SystemConfiguration.framework */; };
-               72220F52133308C100FCA411 /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F51133308C100FCA411 /* libiconv.dylib */; };
-               72220F54133308CB00FCA411 /* libresolv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F53133308CB00FCA411 /* libresolv.dylib */; };
-               72220F56133308EA00FCA411 /* Kerberos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F55133308EA00FCA411 /* Kerberos.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
                72220F6613330A7000FCA411 /* libcups.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220EAE1333047D00FCA411 /* libcups.dylib */; };
-               72220F6813330A8500FCA411 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F6713330A8500FCA411 /* ApplicationServices.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
                72220F9013330B0C00FCA411 /* auth.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220F6913330B0C00FCA411 /* auth.c */; };
                72220F9113330B0C00FCA411 /* banners.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220F6B13330B0C00FCA411 /* banners.c */; };
                72220F9213330B0C00FCA411 /* cert.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220F6D13330B0C00FCA411 /* cert.c */; };
                724379511333FEBB009631B9 /* dnssd.c in Sources */ = {isa = PBXBuildFile; fileRef = 724379501333FEBB009631B9 /* dnssd.c */; };
                724379561333FF04009631B9 /* libcups.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220EAE1333047D00FCA411 /* libcups.dylib */; };
                724379661333FF3B009631B9 /* libcups.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220EAE1333047D00FCA411 /* libcups.dylib */; };
-               724379681333FF3B009631B9 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 724379671333FF3B009631B9 /* IOKit.framework */; };
                724379C71333FFC7009631B9 /* usb.c in Sources */ = {isa = PBXBuildFile; fileRef = 724379C51333FFC7009631B9 /* usb.c */; };
-               724379C91333FFF3009631B9 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 724379C81333FFF3009631B9 /* CoreFoundation.framework */; };
                724379CB1334000E009631B9 /* ieee1284.c in Sources */ = {isa = PBXBuildFile; fileRef = 724379CA1334000E009631B9 /* ieee1284.c */; };
                7258EAED134594EB009286F1 /* rastertopwg.c in Sources */ = {isa = PBXBuildFile; fileRef = 7258EAEC134594EB009286F1 /* rastertopwg.c */; };
                7258EAF413459B6D009286F1 /* libcups.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220EAE1333047D00FCA411 /* libcups.dylib */; };
                7258EAF513459B6D009286F1 /* libcupsimage.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72F75A611336F9A3004BB496 /* libcupsimage.dylib */; };
-               7263EE2713330D2800BA4D44 /* libpam.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7263EE2613330D2800BA4D44 /* libpam.dylib */; };
-               7263EE2C13330D5C00BA4D44 /* Kerberos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7263EE2913330D5C00BA4D44 /* Kerberos.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
-               7263EE2D13330D5C00BA4D44 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7263EE2A13330D5C00BA4D44 /* Security.framework */; };
-               7263EE2E13330D5C00BA4D44 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7263EE2B13330D5C00BA4D44 /* SystemConfiguration.framework */; };
-               7263EE3013330DC100BA4D44 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7263EE2F13330DC100BA4D44 /* IOKit.framework */; };
-               7263EE3213330E1E00BA4D44 /* libpthread.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7263EE3113330E1E00BA4D44 /* libpthread.dylib */; };
-               7263EE3413330E3C00BA4D44 /* libresolv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7263EE3313330E3C00BA4D44 /* libresolv.dylib */; };
-               7263EE3613330E4E00BA4D44 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7263EE3513330E4E00BA4D44 /* CoreFoundation.framework */; };
-               7263EE3813330E7500BA4D44 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7263EE3713330E7500BA4D44 /* libz.dylib */; };
-               7263EE3A13330EC500BA4D44 /* libldap.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7263EE3913330EC500BA4D44 /* libldap.dylib */; };
                726AD702135E8A90002C930D /* ippserver.c in Sources */ = {isa = PBXBuildFile; fileRef = 726AD701135E8A90002C930D /* ippserver.c */; };
-               726AD707135E8B11002C930D /* libcups_static.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 72F75A4C1336F31B004BB496 /* libcups_static.a */; };
-               726AD708135E8B11002C930D /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F49133306BB00FCA411 /* CoreFoundation.framework */; };
-               726AD709135E8B11002C930D /* Kerberos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F55133308EA00FCA411 /* Kerberos.framework */; };
-               726AD70A135E8B11002C930D /* libresolv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F53133308CB00FCA411 /* libresolv.dylib */; };
-               726AD70B135E8B11002C930D /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F4A133306BB00FCA411 /* libz.dylib */; };
-               726AD70C135E8B11002C930D /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F4B133306BB00FCA411 /* Security.framework */; };
-               726AD70D135E8B11002C930D /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F4C133306BB00FCA411 /* SystemConfiguration.framework */; };
-               726AD70E135E8B5E002C930D /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F51133308C100FCA411 /* libiconv.dylib */; };
                7271883D1374AB14001A2036 /* mime-private.h in Headers */ = {isa = PBXBuildFile; fileRef = 7271883C1374AB14001A2036 /* mime-private.h */; };
+               728FB7E4153600FA005426E1 /* avahi.c in Sources */ = {isa = PBXBuildFile; fileRef = 728FB7DE153600FA005426E1 /* avahi.c */; };
+               728FB7E8153600FA005426E1 /* tls.c in Sources */ = {isa = PBXBuildFile; fileRef = 728FB7E3153600FA005426E1 /* tls.c */; };
+               728FB7E91536161C005426E1 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58E5136B64AF00836530 /* CoreFoundation.framework */; };
+               728FB7EA1536161C005426E1 /* Kerberos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58E6136B64B000836530 /* Kerberos.framework */; };
+               728FB7EB1536161C005426E1 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58E7136B64B000836530 /* Security.framework */; };
+               728FB7ED1536161C005426E1 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 728FB7EC1536161C005426E1 /* libz.dylib */; };
+               728FB7EE15361642005426E1 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58E8136B64B000836530 /* SystemConfiguration.framework */; };
+               728FB7F11536167A005426E1 /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 728FB7EF1536167A005426E1 /* libiconv.dylib */; };
+               728FB7F21536167A005426E1 /* libresolv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 728FB7F01536167A005426E1 /* libresolv.dylib */; };
                72C16CB9137B195D007E4BF4 /* file.c in Sources */ = {isa = PBXBuildFile; fileRef = 72C16CB8137B195D007E4BF4 /* file.c */; };
                72F75A5C1336F988004BB496 /* cupstestppd.c in Sources */ = {isa = PBXBuildFile; fileRef = 72F75A5B1336F988004BB496 /* cupstestppd.c */; };
                72F75A671336FA38004BB496 /* libcups.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220EAE1333047D00FCA411 /* libcups.dylib */; };
                        remoteGlobalIDString = 274FF64E133339C400317ECB;
                        remoteInfo = "cups-lpd";
                };
-               274FF66C13333AAD00317ECB /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 72BF96371333042100B1EAD7 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 72220EAD1333047D00FCA411;
-                       remoteInfo = libcups;
-               };
-               274FF67113333AE400317ECB /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-                       containerPortal = 72BF96371333042100B1EAD7 /* Project object */;
-                       proxyType = 1;
-                       remoteGlobalIDString = 274FF66213333A9B00317ECB;
-                       remoteInfo = "cups-polld";
-               };
                274FF68113333B3C00317ECB /* PBXContainerItemProxy */ = {
                        isa = PBXContainerItemProxy;
                        containerPortal = 72BF96371333042100B1EAD7 /* Project object */;
                        );
                        runOnlyForDeploymentPostprocessing = 1;
                };
-               274FF66113333A9B00317ECB /* CopyFiles */ = {
-                       isa = PBXCopyFilesBuildPhase;
-                       buildActionMask = 2147483647;
-                       dstPath = /usr/share/man/man1/;
-                       dstSubfolderSpec = 0;
-                       files = (
-                       );
-                       runOnlyForDeploymentPostprocessing = 1;
-               };
                274FF67613333B2F00317ECB /* CopyFiles */ = {
                        isa = PBXCopyFilesBuildPhase;
                        buildActionMask = 2147483647;
                2732E092137A3F5200FAFEF6 /* lpstat.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpstat.c; path = ../systemv/lpstat.c; sourceTree = "<group>"; };
                273BF6BD1333B5000022CAAB /* testcups */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = testcups; sourceTree = BUILT_PRODUCTS_DIR; };
                273BF6C61333B5370022CAAB /* testcups.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = testcups.c; path = ../cups/testcups.c; sourceTree = "<group>"; };
-               273BF6CB1333B5950022CAAB /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreFoundation.framework; sourceTree = DEVELOPER_DIR; };
-               273BF6CC1333B5950022CAAB /* libiconv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.dylib; path = SDKs/MacOSX10.6.sdk/usr/lib/libiconv.dylib; sourceTree = DEVELOPER_DIR; };
-               273BF6CD1333B5950022CAAB /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = SDKs/MacOSX10.6.sdk/usr/lib/libz.dylib; sourceTree = DEVELOPER_DIR; };
-               273BF6D11333B5C30022CAAB /* Kerberos.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Kerberos.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Kerberos.framework; sourceTree = DEVELOPER_DIR; };
-               273BF6D21333B5C30022CAAB /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; };
-               273BF6D51333B5F60022CAAB /* libresolv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libresolv.dylib; path = SDKs/MacOSX10.6.sdk/usr/lib/libresolv.dylib; sourceTree = DEVELOPER_DIR; };
-               273BF6D61333B5F60022CAAB /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; };
                274FF5CC13332B1F00317ECB /* cups-driverd */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "cups-driverd"; sourceTree = BUILT_PRODUCTS_DIR; };
                274FF5D613332CC700317ECB /* cups-driverd.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = "cups-driverd.cxx"; path = "../scheduler/cups-driverd.cxx"; sourceTree = "<group>"; };
                274FF5D713332CC700317ECB /* util.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = util.c; path = ../scheduler/util.c; sourceTree = "<group>"; };
                274FF6491333398D00317ECB /* cups-exec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "cups-exec.c"; path = "../scheduler/cups-exec.c"; sourceTree = "<group>"; };
                274FF64F133339C400317ECB /* cups-lpd */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "cups-lpd"; sourceTree = BUILT_PRODUCTS_DIR; };
                274FF65B133339FC00317ECB /* cups-lpd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "cups-lpd.c"; path = "../scheduler/cups-lpd.c"; sourceTree = "<group>"; };
-               274FF66313333A9B00317ECB /* cups-polld */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "cups-polld"; sourceTree = BUILT_PRODUCTS_DIR; };
-               274FF66F13333ACF00317ECB /* cups-polld.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "cups-polld.c"; path = "../scheduler/cups-polld.c"; sourceTree = "<group>"; };
                274FF67813333B2F00317ECB /* cupsfilter */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = cupsfilter; sourceTree = BUILT_PRODUCTS_DIR; };
                274FF68713333B6E00317ECB /* cupsfilter.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = cupsfilter.c; path = ../scheduler/cupsfilter.c; sourceTree = "<group>"; };
                276683561337A8C5000D33D0 /* cups.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = cups.strings; path = ../locale/cups.strings; sourceTree = "<group>"; };
                276684041337FA1D000D33D0 /* cupsaddsmb */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = cupsaddsmb; sourceTree = BUILT_PRODUCTS_DIR; };
                276684101337FA7C000D33D0 /* cupsaddsmb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = cupsaddsmb.c; path = ../systemv/cupsaddsmb.c; sourceTree = "<group>"; };
                278C58CB136B640300836530 /* testhttp */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = testhttp; sourceTree = BUILT_PRODUCTS_DIR; };
-               278C58DA136B645C00836530 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreFoundation.framework; sourceTree = DEVELOPER_DIR; };
-               278C58DB136B645C00836530 /* Kerberos.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Kerberos.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Kerberos.framework; sourceTree = DEVELOPER_DIR; };
-               278C58DD136B645C00836530 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; };
                278C58E2136B647200836530 /* testhttp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = testhttp.c; path = ../cups/testhttp.c; sourceTree = "<group>"; };
                278C58E5136B64AF00836530 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
                278C58E6136B64B000836530 /* Kerberos.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Kerberos.framework; path = /System/Library/Frameworks/Kerberos.framework; sourceTree = "<absolute>"; };
                278C58E7136B64B000836530 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = /System/Library/Frameworks/Security.framework; sourceTree = "<absolute>"; };
                278C58E8136B64B000836530 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = /System/Library/Frameworks/SystemConfiguration.framework; sourceTree = "<absolute>"; };
-               278C58F4136B652300836530 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; };
                27D3037C134148CB00F022B1 /* libcups_s.exp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.exports; name = libcups_s.exp; path = ../cups/libcups_s.exp; sourceTree = "<group>"; };
                27D3037D134148CB00F022B1 /* libcups2.def */ = {isa = PBXFileReference; lastKnownFileType = text; name = libcups2.def; path = ../cups/libcups2.def; sourceTree = "<group>"; };
                720DD6C21358FD5F0064AA82 /* snmp */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = snmp; sourceTree = BUILT_PRODUCTS_DIR; };
                72220F09133305BB00FCA411 /* util.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = util.c; path = ../cups/util.c; sourceTree = "<group>"; };
                72220F0A133305BB00FCA411 /* versioning.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = versioning.h; path = ../cups/versioning.h; sourceTree = "<group>"; };
                72220F471333063D00FCA411 /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = "<group>"; };
-               72220F49133306BB00FCA411 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreFoundation.framework; sourceTree = DEVELOPER_DIR; };
-               72220F4A133306BB00FCA411 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = SDKs/MacOSX10.6.sdk/usr/lib/libz.dylib; sourceTree = DEVELOPER_DIR; };
-               72220F4B133306BB00FCA411 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; };
-               72220F4C133306BB00FCA411 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; };
-               72220F51133308C100FCA411 /* libiconv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.dylib; path = SDKs/MacOSX10.6.sdk/usr/lib/libiconv.dylib; sourceTree = DEVELOPER_DIR; };
-               72220F53133308CB00FCA411 /* libresolv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libresolv.dylib; path = SDKs/MacOSX10.6.sdk/usr/lib/libresolv.dylib; sourceTree = DEVELOPER_DIR; };
-               72220F55133308EA00FCA411 /* Kerberos.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Kerberos.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Kerberos.framework; sourceTree = DEVELOPER_DIR; };
                72220F5B13330A5A00FCA411 /* cupsd */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = cupsd; sourceTree = BUILT_PRODUCTS_DIR; };
-               72220F6713330A8500FCA411 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/ApplicationServices.framework; sourceTree = DEVELOPER_DIR; };
                72220F6913330B0C00FCA411 /* auth.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = auth.c; path = ../scheduler/auth.c; sourceTree = SOURCE_ROOT; };
                72220F6A13330B0C00FCA411 /* auth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = auth.h; path = ../scheduler/auth.h; sourceTree = SOURCE_ROOT; };
                72220F6B13330B0C00FCA411 /* banners.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = banners.c; path = ../scheduler/banners.c; sourceTree = SOURCE_ROOT; };
                724379471333FEA9009631B9 /* dnssd */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = dnssd; sourceTree = BUILT_PRODUCTS_DIR; };
                724379501333FEBB009631B9 /* dnssd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = dnssd.c; path = ../backend/dnssd.c; sourceTree = "<group>"; };
                7243795B1333FF1D009631B9 /* usb */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = usb; sourceTree = BUILT_PRODUCTS_DIR; };
-               724379671333FF3B009631B9 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = SDKs/MacOSX10.7.sdk/System/Library/Frameworks/IOKit.framework; sourceTree = DEVELOPER_DIR; };
                724379C41333FFC7009631B9 /* usb-darwin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "usb-darwin.c"; path = "../backend/usb-darwin.c"; sourceTree = "<group>"; };
                724379C51333FFC7009631B9 /* usb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = usb.c; path = ../backend/usb.c; sourceTree = "<group>"; };
-               724379C81333FFF3009631B9 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = SDKs/MacOSX10.7.sdk/System/Library/Frameworks/CoreFoundation.framework; sourceTree = DEVELOPER_DIR; };
                724379CA1334000E009631B9 /* ieee1284.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ieee1284.c; path = ../backend/ieee1284.c; sourceTree = "<group>"; };
                7258EAE2134594C4009286F1 /* rastertopwg */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = rastertopwg; sourceTree = BUILT_PRODUCTS_DIR; };
                7258EAEC134594EB009286F1 /* rastertopwg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = rastertopwg.c; path = ../filter/rastertopwg.c; sourceTree = "<group>"; };
-               7263EE2613330D2800BA4D44 /* libpam.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libpam.dylib; path = SDKs/MacOSX10.6.sdk/usr/lib/libpam.dylib; sourceTree = DEVELOPER_DIR; };
-               7263EE2913330D5C00BA4D44 /* Kerberos.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Kerberos.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Kerberos.framework; sourceTree = DEVELOPER_DIR; };
-               7263EE2A13330D5C00BA4D44 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; };
-               7263EE2B13330D5C00BA4D44 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; };
-               7263EE2F13330DC100BA4D44 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/IOKit.framework; sourceTree = DEVELOPER_DIR; };
-               7263EE3113330E1E00BA4D44 /* libpthread.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libpthread.dylib; path = SDKs/MacOSX10.6.sdk/usr/lib/libpthread.dylib; sourceTree = DEVELOPER_DIR; };
-               7263EE3313330E3C00BA4D44 /* libresolv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libresolv.dylib; path = SDKs/MacOSX10.6.sdk/usr/lib/libresolv.dylib; sourceTree = DEVELOPER_DIR; };
-               7263EE3513330E4E00BA4D44 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = SDKs/MacOSX10.6.sdk/System/Library/Frameworks/CoreFoundation.framework; sourceTree = DEVELOPER_DIR; };
-               7263EE3713330E7500BA4D44 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = SDKs/MacOSX10.6.sdk/usr/lib/libz.dylib; sourceTree = DEVELOPER_DIR; };
-               7263EE3913330EC500BA4D44 /* libldap.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libldap.dylib; path = SDKs/MacOSX10.6.sdk/usr/lib/libldap.dylib; sourceTree = DEVELOPER_DIR; };
                726AD6F7135E88F0002C930D /* ippserver */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = ippserver; sourceTree = BUILT_PRODUCTS_DIR; };
                726AD701135E8A90002C930D /* ippserver.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ippserver.c; path = ../test/ippserver.c; sourceTree = "<group>"; };
                7271881713746EA8001A2036 /* commandtops.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = commandtops.c; path = ../filter/commandtops.c; sourceTree = "<group>"; };
                7271882213746EA8001A2036 /* rastertohp.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = rastertohp.c; path = ../filter/rastertohp.c; sourceTree = "<group>"; };
                7271882313746EA8001A2036 /* rastertolabel.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = rastertolabel.c; path = ../filter/rastertolabel.c; sourceTree = "<group>"; };
                7271883C1374AB14001A2036 /* mime-private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "mime-private.h"; path = "../scheduler/mime-private.h"; sourceTree = "<group>"; };
+               728FB7DE153600FA005426E1 /* avahi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = avahi.c; path = ../scheduler/avahi.c; sourceTree = "<group>"; };
+               728FB7DF153600FA005426E1 /* avahi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = avahi.h; path = ../scheduler/avahi.h; sourceTree = "<group>"; };
+               728FB7E0153600FA005426E1 /* tls-darwin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "tls-darwin.c"; path = "../scheduler/tls-darwin.c"; sourceTree = "<group>"; };
+               728FB7E1153600FA005426E1 /* tls-gnutls.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "tls-gnutls.c"; path = "../scheduler/tls-gnutls.c"; sourceTree = "<group>"; };
+               728FB7E2153600FA005426E1 /* tls-openssl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "tls-openssl.c"; path = "../scheduler/tls-openssl.c"; sourceTree = "<group>"; };
+               728FB7E3153600FA005426E1 /* tls.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = tls.c; path = ../scheduler/tls.c; sourceTree = "<group>"; };
+               728FB7EC1536161C005426E1 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = ../../../../../usr/lib/libz.dylib; sourceTree = "<group>"; };
+               728FB7EF1536167A005426E1 /* libiconv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.dylib; path = ../../../../../usr/lib/libiconv.dylib; sourceTree = "<group>"; };
+               728FB7F01536167A005426E1 /* libresolv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libresolv.dylib; path = ../../../../../usr/lib/libresolv.dylib; sourceTree = "<group>"; };
                72C16CB8137B195D007E4BF4 /* file.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = file.c; path = ../scheduler/file.c; sourceTree = SOURCE_ROOT; };
-               72F75A4C1336F31B004BB496 /* libcups_static.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libcups_static.a; sourceTree = BUILT_PRODUCTS_DIR; };
+               72F75A4C1336F31B004BB496 /* libcups_static.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; name = libcups_static.a; path = "/Users/msweet/c/cups-trunk/xcode/build/Release/libcups_static.a"; sourceTree = "<absolute>"; };
                72F75A521336F950004BB496 /* cupstestppd */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = cupstestppd; sourceTree = BUILT_PRODUCTS_DIR; };
                72F75A5B1336F988004BB496 /* cupstestppd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = cupstestppd.c; path = ../systemv/cupstestppd.c; sourceTree = "<group>"; };
                72F75A611336F9A3004BB496 /* libcupsimage.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libcupsimage.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
                                278C58EA136B64B000836530 /* Kerberos.framework in Frameworks */,
                                278C58EB136B64B000836530 /* Security.framework in Frameworks */,
                                278C58EC136B64B000836530 /* SystemConfiguration.framework in Frameworks */,
-                               270CCDB9135E3D0900007BE2 /* libcups_static.a in Frameworks */,
                                270CCDBA135E3D0900007BE2 /* libcupsmime.dylib in Frameworks */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
-                               278C58E4136B649200836530 /* libcups_static.a in Frameworks */,
-                               273BF6CE1333B5950022CAAB /* CoreFoundation.framework in Frameworks */,
-                               273BF6D31333B5C30022CAAB /* Kerberos.framework in Frameworks */,
-                               273BF6D41333B5C30022CAAB /* Security.framework in Frameworks */,
-                               273BF6D81333B5F60022CAAB /* SystemConfiguration.framework in Frameworks */,
-                               273BF6CF1333B5950022CAAB /* libiconv.dylib in Frameworks */,
-                               273BF6D71333B5F60022CAAB /* libresolv.dylib in Frameworks */,
-                               273BF6D01333B5950022CAAB /* libz.dylib in Frameworks */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
-               274FF66013333A9B00317ECB /* Frameworks */ = {
-                       isa = PBXFrameworksBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               274FF66E13333AB500317ECB /* libcups.dylib in Frameworks */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
                274FF67513333B2F00317ECB /* Frameworks */ = {
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
-                               274FF6BA1333B1C400317ECB /* CoreFoundation.framework in Frameworks */,
-                               274FF6BB1333B1C400317ECB /* Kerberos.framework in Frameworks */,
-                               274FF6BC1333B1C400317ECB /* Security.framework in Frameworks */,
-                               274FF6BD1333B1C400317ECB /* SystemConfiguration.framework in Frameworks */,
-                               274FF6BE1333B1C400317ECB /* libiconv.dylib in Frameworks */,
-                               274FF6BF1333B1C400317ECB /* libresolv.dylib in Frameworks */,
-                               274FF6C01333B1C400317ECB /* libz.dylib in Frameworks */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
-                               278C58DE136B645C00836530 /* CoreFoundation.framework in Frameworks */,
-                               278C58DF136B645C00836530 /* Kerberos.framework in Frameworks */,
-                               278C58F6136B652300836530 /* Security.framework in Frameworks */,
-                               278C58E1136B645C00836530 /* SystemConfiguration.framework in Frameworks */,
-                               278C58D9136B645C00836530 /* libcups_static.a in Frameworks */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
-                               72220F4D133306BB00FCA411 /* CoreFoundation.framework in Frameworks */,
-                               72220F56133308EA00FCA411 /* Kerberos.framework in Frameworks */,
-                               72220F4F133306BB00FCA411 /* Security.framework in Frameworks */,
-                               72220F50133306BB00FCA411 /* SystemConfiguration.framework in Frameworks */,
-                               72220F52133308C100FCA411 /* libiconv.dylib in Frameworks */,
-                               72220F54133308CB00FCA411 /* libresolv.dylib in Frameworks */,
-                               72220F4E133306BB00FCA411 /* libz.dylib in Frameworks */,
+                               728FB7F11536167A005426E1 /* libiconv.dylib in Frameworks */,
+                               728FB7F21536167A005426E1 /* libresolv.dylib in Frameworks */,
+                               728FB7ED1536161C005426E1 /* libz.dylib in Frameworks */,
+                               728FB7E91536161C005426E1 /* CoreFoundation.framework in Frameworks */,
+                               728FB7EA1536161C005426E1 /* Kerberos.framework in Frameworks */,
+                               728FB7EB1536161C005426E1 /* Security.framework in Frameworks */,
+                               728FB7EE15361642005426E1 /* SystemConfiguration.framework in Frameworks */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
-                               72220F6813330A8500FCA411 /* ApplicationServices.framework in Frameworks */,
-                               7263EE3613330E4E00BA4D44 /* CoreFoundation.framework in Frameworks */,
-                               7263EE3013330DC100BA4D44 /* IOKit.framework in Frameworks */,
-                               7263EE2C13330D5C00BA4D44 /* Kerberos.framework in Frameworks */,
-                               7263EE2D13330D5C00BA4D44 /* Security.framework in Frameworks */,
-                               7263EE2E13330D5C00BA4D44 /* SystemConfiguration.framework in Frameworks */,
                                72220F6613330A7000FCA411 /* libcups.dylib in Frameworks */,
                                72220FBF13330C1000FCA411 /* libcupsmime.dylib in Frameworks */,
-                               7263EE3A13330EC500BA4D44 /* libldap.dylib in Frameworks */,
-                               7263EE2713330D2800BA4D44 /* libpam.dylib in Frameworks */,
-                               7263EE3213330E1E00BA4D44 /* libpthread.dylib in Frameworks */,
-                               7263EE3413330E3C00BA4D44 /* libresolv.dylib in Frameworks */,
-                               7263EE3813330E7500BA4D44 /* libz.dylib in Frameworks */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
-                               724379C91333FFF3009631B9 /* CoreFoundation.framework in Frameworks */,
-                               724379681333FF3B009631B9 /* IOKit.framework in Frameworks */,
                                724379661333FF3B009631B9 /* libcups.dylib in Frameworks */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                        isa = PBXFrameworksBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
-                               726AD70E135E8B5E002C930D /* libiconv.dylib in Frameworks */,
-                               726AD707135E8B11002C930D /* libcups_static.a in Frameworks */,
-                               726AD708135E8B11002C930D /* CoreFoundation.framework in Frameworks */,
-                               726AD709135E8B11002C930D /* Kerberos.framework in Frameworks */,
-                               726AD70A135E8B11002C930D /* libresolv.dylib in Frameworks */,
-                               726AD70B135E8B11002C930D /* libz.dylib in Frameworks */,
-                               726AD70C135E8B11002C930D /* Security.framework in Frameworks */,
-                               726AD70D135E8B11002C930D /* SystemConfiguration.framework in Frameworks */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                274FF5D513332C2C00317ECB /* daemon */ = {
                        isa = PBXGroup;
                        children = (
-                               274FF66F13333ACF00317ECB /* cups-polld.c */,
                                274FF6351333344400317ECB /* cups-deviced.c */,
                                274FF5D613332CC700317ECB /* cups-driverd.cxx */,
                                274FF6491333398D00317ECB /* cups-exec.c */,
                                274FF6291333333600317ECB /* cups-deviced */,
                                274FF63E1333358B00317ECB /* cups-exec */,
                                274FF64F133339C400317ECB /* cups-lpd */,
-                               274FF66313333A9B00317ECB /* cups-polld */,
                                274FF67813333B2F00317ECB /* cupsfilter */,
                                273BF6BD1333B5000022CAAB /* testcups */,
                                724378FD1333E43E009631B9 /* ipp */,
                        children = (
                                72220F6913330B0C00FCA411 /* auth.c */,
                                72220F6A13330B0C00FCA411 /* auth.h */,
+                               728FB7DE153600FA005426E1 /* avahi.c */,
+                               728FB7DF153600FA005426E1 /* avahi.h */,
                                72220F6B13330B0C00FCA411 /* banners.c */,
                                72220F6C13330B0C00FCA411 /* banners.h */,
                                72220F6D13330B0C00FCA411 /* cert.c */,
                                72220F8D13330B0C00FCA411 /* subscriptions.h */,
                                72220F8E13330B0C00FCA411 /* sysman.c */,
                                72220F8F13330B0C00FCA411 /* sysman.h */,
+                               728FB7E3153600FA005426E1 /* tls.c */,
+                               728FB7E0153600FA005426E1 /* tls-darwin.c */,
+                               728FB7E1153600FA005426E1 /* tls-gnutls.c */,
+                               728FB7E2153600FA005426E1 /* tls-openssl.c */,
                        );
                        name = cupsd;
                        path = .;
                72220FB113330B4A00FCA411 /* Frameworks */ = {
                        isa = PBXGroup;
                        children = (
-                               278C58F4136B652300836530 /* Security.framework */,
                                278C58E5136B64AF00836530 /* CoreFoundation.framework */,
                                278C58E6136B64B000836530 /* Kerberos.framework */,
                                278C58E7136B64B000836530 /* Security.framework */,
                                278C58E8136B64B000836530 /* SystemConfiguration.framework */,
-                               278C58DA136B645C00836530 /* CoreFoundation.framework */,
-                               278C58DB136B645C00836530 /* Kerberos.framework */,
-                               278C58DD136B645C00836530 /* SystemConfiguration.framework */,
-                               72220FAC13330B2200FCA411 /* libcupsmime.dylib */,
                                72220EAE1333047D00FCA411 /* libcups.dylib */,
                                72F75A611336F9A3004BB496 /* libcupsimage.dylib */,
+                               72220FAC13330B2200FCA411 /* libcupsmime.dylib */,
                                274FF5EE133330C800317ECB /* libcupsppdc.dylib */,
-                               724379C81333FFF3009631B9 /* CoreFoundation.framework */,
-                               724379671333FF3B009631B9 /* IOKit.framework */,
-                               273BF6D51333B5F60022CAAB /* libresolv.dylib */,
-                               273BF6D61333B5F60022CAAB /* SystemConfiguration.framework */,
-                               273BF6D11333B5C30022CAAB /* Kerberos.framework */,
-                               273BF6D21333B5C30022CAAB /* Security.framework */,
-                               273BF6CB1333B5950022CAAB /* CoreFoundation.framework */,
-                               273BF6CC1333B5950022CAAB /* libiconv.dylib */,
-                               273BF6CD1333B5950022CAAB /* libz.dylib */,
-                               7263EE3913330EC500BA4D44 /* libldap.dylib */,
-                               7263EE3713330E7500BA4D44 /* libz.dylib */,
-                               7263EE3513330E4E00BA4D44 /* CoreFoundation.framework */,
-                               7263EE3313330E3C00BA4D44 /* libresolv.dylib */,
-                               7263EE3113330E1E00BA4D44 /* libpthread.dylib */,
-                               7263EE2F13330DC100BA4D44 /* IOKit.framework */,
-                               7263EE2913330D5C00BA4D44 /* Kerberos.framework */,
-                               7263EE2A13330D5C00BA4D44 /* Security.framework */,
-                               7263EE2B13330D5C00BA4D44 /* SystemConfiguration.framework */,
-                               7263EE2613330D2800BA4D44 /* libpam.dylib */,
-                               72220F6713330A8500FCA411 /* ApplicationServices.framework */,
-                               72220F49133306BB00FCA411 /* CoreFoundation.framework */,
-                               72220F55133308EA00FCA411 /* Kerberos.framework */,
-                               72220F4B133306BB00FCA411 /* Security.framework */,
-                               72220F4C133306BB00FCA411 /* SystemConfiguration.framework */,
-                               72220F51133308C100FCA411 /* libiconv.dylib */,
-                               72220F53133308CB00FCA411 /* libresolv.dylib */,
-                               72220F4A133306BB00FCA411 /* libz.dylib */,
                        );
                        name = Frameworks;
                        sourceTree = "<group>";
                72BF96351333042100B1EAD7 = {
                        isa = PBXGroup;
                        children = (
-                               72F75A4C1336F31B004BB496 /* libcups_static.a */,
+                               728FB7EF1536167A005426E1 /* libiconv.dylib */,
+                               728FB7F01536167A005426E1 /* libresolv.dylib */,
+                               728FB7EC1536161C005426E1 /* libz.dylib */,
                                72220FB113330B4A00FCA411 /* Frameworks */,
                                72220F45133305D000FCA411 /* Public Headers */,
                                72220F461333060C00FCA411 /* Private Headers */,
                        productReference = 274FF64F133339C400317ECB /* cups-lpd */;
                        productType = "com.apple.product-type.tool";
                };
-               274FF66213333A9B00317ECB /* cups-polld */ = {
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 274FF66913333A9B00317ECB /* Build configuration list for PBXNativeTarget "cups-polld" */;
-                       buildPhases = (
-                               274FF65F13333A9B00317ECB /* Sources */,
-                               274FF66013333A9B00317ECB /* Frameworks */,
-                               274FF66113333A9B00317ECB /* CopyFiles */,
-                       );
-                       buildRules = (
-                       );
-                       dependencies = (
-                               274FF66D13333AAD00317ECB /* PBXTargetDependency */,
-                       );
-                       name = "cups-polld";
-                       productName = "cups-polld";
-                       productReference = 274FF66313333A9B00317ECB /* cups-polld */;
-                       productType = "com.apple.product-type.tool";
-               };
                274FF67713333B2F00317ECB /* cupsfilter */ = {
                        isa = PBXNativeTarget;
                        buildConfigurationList = 274FF67E13333B2F00317ECB /* Build configuration list for PBXNativeTarget "cupsfilter" */;
                                274FF6281333333600317ECB /* cups-deviced */,
                                274FF63D1333358B00317ECB /* cups-exec */,
                                274FF64E133339C400317ECB /* cups-lpd */,
-                               274FF66213333A9B00317ECB /* cups-polld */,
                                274FF67713333B2F00317ECB /* cupsfilter */,
                                72F75A511336F950004BB496 /* cupstestppd */,
                                724379461333FEA9009631B9 /* dnssd */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
-               274FF65F13333A9B00317ECB /* Sources */ = {
-                       isa = PBXSourcesBuildPhase;
-                       buildActionMask = 2147483647;
-                       files = (
-                               274FF67013333ACF00317ECB /* cups-polld.c in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
                274FF67413333B2F00317ECB /* Sources */ = {
                        isa = PBXSourcesBuildPhase;
                        buildActionMask = 2147483647;
                                72220FA613330B0C00FCA411 /* subscriptions.c in Sources */,
                                72220FA713330B0C00FCA411 /* sysman.c in Sources */,
                                72C16CB9137B195D007E4BF4 /* file.c in Sources */,
+                               728FB7E4153600FA005426E1 /* avahi.c in Sources */,
+                               728FB7E8153600FA005426E1 /* tls.c in Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                        target = 274FF64E133339C400317ECB /* cups-lpd */;
                        targetProxy = 274FF65D13333A3400317ECB /* PBXContainerItemProxy */;
                };
-               274FF66D13333AAD00317ECB /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       target = 72220EAD1333047D00FCA411 /* libcups */;
-                       targetProxy = 274FF66C13333AAD00317ECB /* PBXContainerItemProxy */;
-               };
-               274FF67213333AE400317ECB /* PBXTargetDependency */ = {
-                       isa = PBXTargetDependency;
-                       target = 274FF66213333A9B00317ECB /* cups-polld */;
-                       targetProxy = 274FF67113333AE400317ECB /* PBXContainerItemProxy */;
-               };
                274FF68213333B3C00317ECB /* PBXTargetDependency */ = {
                        isa = PBXTargetDependency;
                        target = 72220EAD1333047D00FCA411 /* libcups */;
                        };
                        name = Release;
                };
-               274FF66A13333A9B00317ECB /* Debug */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               INSTALL_PATH = /usr/libexec/cups/daemon;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Debug;
-               };
-               274FF66B13333A9B00317ECB /* Release */ = {
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               INSTALL_PATH = /usr/libexec/cups/daemon;
-                               PRODUCT_NAME = "$(TARGET_NAME)";
-                       };
-                       name = Release;
-               };
                274FF67F13333B2F00317ECB /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
                        defaultConfigurationIsVisible = 0;
                        defaultConfigurationName = Release;
                };
-               274FF66913333A9B00317ECB /* Build configuration list for PBXNativeTarget "cups-polld" */ = {
-                       isa = XCConfigurationList;
-                       buildConfigurations = (
-                               274FF66A13333A9B00317ECB /* Debug */,
-                               274FF66B13333A9B00317ECB /* Release */,
-                       );
-                       defaultConfigurationIsVisible = 0;
-                       defaultConfigurationName = Release;
-               };
                274FF67E13333B2F00317ECB /* Build configuration list for PBXNativeTarget "cupsfilter" */ = {
                        isa = XCConfigurationList;
                        buildConfigurations = (