]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Import changes from CUPS 1.5svn-r9085.
authormsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Wed, 7 Apr 2010 07:11:03 +0000 (07:11 +0000)
committermsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Wed, 7 Apr 2010 07:11:03 +0000 (07:11 +0000)
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@2046 a1ca3aef-8c08-0410-bb20-df032aa958be

74 files changed:
CHANGES.txt
backend/Dependencies
backend/pap.c
berkeley/Dependencies
cgi-bin/Dependencies
cgi-bin/admin.c
conf/cupsd.conf.in
cups/Dependencies
cups/adminutil.h
cups/cups-private.h
cups/cups.h
cups/http.c
cups/ipp-private.h
cups/ipp-support.c
cups/ipp.c
cups/ipp.h
cups/ppd-private.h
cups/ppd.h
cups/pwg-media.c
cups/pwg-ppd.c
cups/pwg-private.h
cups/raster.h
cups/testconflicts.c
cups/testcups.c
cups/testipp.c
cups/testpwg.c
cups/versioning.h
doc/Makefile
doc/help/api-cgi.html
doc/help/api-cups.html
doc/help/api-httpipp.html
doc/help/api-ppd.html
doc/help/whatsnew.html
driver/Dependencies
filter/Dependencies
filter/commandtops.c
filter/common.h
filter/imagetops.c
filter/imagetoraster.c
filter/pdftops.c
filter/rastertohp.c
filter/rastertolabel.c
locale/Dependencies
man/Makefile
man/ipptest.man [deleted file]
man/ipptool.man [new file with mode: 0644]
man/ipptoolfile.man [moved from man/ipp.test.man with 89% similarity]
monitor/Dependencies
monitor/bcp.c
monitor/tbcp.c
notifier/Dependencies
packaging/cups.list.in
packaging/cups.spec.in
ppdc/Dependencies
scheduler/Dependencies
scheduler/conf.c
scheduler/ipp.c
scheduler/printers.c
scripting/php/Dependencies
standards/rfctohtml.c
systemv/Dependencies
test/Dependencies
test/Makefile
test/create-printer-subscription.test
test/get-completed-jobs.test [new file with mode: 0644]
test/get-jobs.test
test/ipp-1.1.test
test/ipp-2.0.test
test/ipp-2.1.test
test/ipptool.c [moved from test/ipptest.c with 88% similarity]
test/run-stp-tests.sh
vc2005/ipptool.vcproj [moved from vc2005/ipptest.vcproj with 93% similarity]
vcnet/cups.sln
vcnet/ipptool.vcproj [moved from vcnet/ipptest.vcproj with 93% similarity]

index 01ec3535f6eba37982fb5f99e8b0272a1c7d2335..80ec932f2fe089b38a896ea9335f705f8b967579 100644 (file)
@@ -1,8 +1,13 @@
-CHANGES.txt - 2010-03-09
+CHANGES.txt - 2010-04-04
 ------------------------
 
 CHANGES IN CUPS V1.5b1
 
+       - The scheduler now implements the Cancel-Jobs, Cancel-My-Jobs, and
+         Close-Job operations along with the job-ids operation attribute from
+         PWG 5100.11.
+       - The main CUPS header (<cups/cups.h>) no longer includes the PPD header
+         (<cups/ppd.h>).
        - The scheduler and CUPS API now support the print-quality job template
          attribute.
        - The scheduler no longer supports the old Mac OS X Server quota
index eb5e0e4e805b9709c8b2e3065027ed014ca13a59..b4e2e6205a529f14c46dfa1fb36c059848db5aa1 100644 (file)
@@ -3,45 +3,47 @@
 ipp.o: ../cups/http-private.h ../config.h ../cups/http.h ../cups/versioning.h
 ipp.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
 ipp.o: ../cups/http.h backend-private.h ../cups/backend.h
-ipp.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/cups.h
-ipp.o: ../cups/ipp.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-ipp.o: ../cups/language.h ../cups/debug-private.h ../cups/language-private.h
-ipp.o: ../cups/transcode.h ../cups/snmp-private.h ../cups/string-private.h
+ipp.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/ppd.h
+ipp.o: ../cups/cups.h ../cups/file.h ../cups/ipp.h ../cups/language.h
+ipp.o: ../cups/array.h ../cups/pwg-private.h ../cups/cups.h
+ipp.o: ../cups/debug-private.h ../cups/language-private.h ../cups/transcode.h
+ipp.o: ../cups/snmp-private.h ../cups/string-private.h
 lpd.o: ../cups/http-private.h ../config.h ../cups/http.h ../cups/versioning.h
 lpd.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
 lpd.o: ../cups/http.h backend-private.h ../cups/backend.h
-lpd.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/cups.h
-lpd.o: ../cups/ipp.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-lpd.o: ../cups/language.h ../cups/debug-private.h ../cups/language-private.h
-lpd.o: ../cups/transcode.h ../cups/snmp-private.h ../cups/string-private.h
+lpd.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/ppd.h
+lpd.o: ../cups/cups.h ../cups/file.h ../cups/ipp.h ../cups/language.h
+lpd.o: ../cups/array.h ../cups/pwg-private.h ../cups/cups.h
+lpd.o: ../cups/debug-private.h ../cups/language-private.h ../cups/transcode.h
+lpd.o: ../cups/snmp-private.h ../cups/string-private.h
 dnssd.o: backend-private.h ../cups/backend.h ../cups/versioning.h
-dnssd.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/cups.h
-dnssd.o: ../cups/ipp.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-dnssd.o: ../cups/language.h ../cups/debug-private.h
-dnssd.o: ../cups/language-private.h ../cups/transcode.h
-dnssd.o: ../cups/snmp-private.h ../cups/http.h ../cups/string-private.h
-dnssd.o: ../config.h ../cups/array.h
-pap.o: ../config.h ../cups/cups.h ../cups/ipp.h ../cups/ppd.h ../cups/array.h
-pap.o: ../cups/versioning.h ../cups/file.h ../cups/language.h
-pap.o: ../cups/backend.h ../cups/sidechannel.h
+dnssd.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/ppd.h
+dnssd.o: ../cups/cups.h ../cups/file.h ../cups/ipp.h ../cups/language.h
+dnssd.o: ../cups/array.h ../cups/pwg-private.h ../cups/cups.h
+dnssd.o: ../cups/debug-private.h ../cups/language-private.h
+dnssd.o: ../cups/transcode.h ../cups/snmp-private.h ../cups/http.h
+dnssd.o: ../cups/string-private.h ../config.h ../cups/array.h
+pap.o: ../config.h ../cups/cups.h ../cups/backend.h ../cups/versioning.h
+pap.o: ../cups/sidechannel.h
 parallel.o: backend-private.h ../cups/backend.h ../cups/versioning.h
-parallel.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/cups.h
-parallel.o: ../cups/ipp.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-parallel.o: ../cups/language.h ../cups/debug-private.h
-parallel.o: ../cups/language-private.h ../cups/transcode.h
-parallel.o: ../cups/snmp-private.h ../cups/http.h ../cups/string-private.h
-parallel.o: ../config.h
+parallel.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/ppd.h
+parallel.o: ../cups/cups.h ../cups/file.h ../cups/ipp.h ../cups/language.h
+parallel.o: ../cups/array.h ../cups/pwg-private.h ../cups/cups.h
+parallel.o: ../cups/debug-private.h ../cups/language-private.h
+parallel.o: ../cups/transcode.h ../cups/snmp-private.h ../cups/http.h
+parallel.o: ../cups/string-private.h ../config.h
 serial.o: backend-private.h ../cups/backend.h ../cups/versioning.h
-serial.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/cups.h
-serial.o: ../cups/ipp.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-serial.o: ../cups/language.h ../cups/debug-private.h
-serial.o: ../cups/language-private.h ../cups/transcode.h
-serial.o: ../cups/snmp-private.h ../cups/http.h ../cups/string-private.h
-serial.o: ../config.h
+serial.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/ppd.h
+serial.o: ../cups/cups.h ../cups/file.h ../cups/ipp.h ../cups/language.h
+serial.o: ../cups/array.h ../cups/pwg-private.h ../cups/cups.h
+serial.o: ../cups/debug-private.h ../cups/language-private.h
+serial.o: ../cups/transcode.h ../cups/snmp-private.h ../cups/http.h
+serial.o: ../cups/string-private.h ../config.h
 snmp.o: backend-private.h ../cups/backend.h ../cups/versioning.h
-snmp.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/cups.h
-snmp.o: ../cups/ipp.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-snmp.o: ../cups/language.h ../cups/debug-private.h ../cups/language-private.h
+snmp.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/ppd.h
+snmp.o: ../cups/cups.h ../cups/file.h ../cups/ipp.h ../cups/language.h
+snmp.o: ../cups/array.h ../cups/pwg-private.h ../cups/cups.h
+snmp.o: ../cups/debug-private.h ../cups/language-private.h
 snmp.o: ../cups/transcode.h ../cups/snmp-private.h ../cups/http.h
 snmp.o: ../cups/string-private.h ../config.h ../cups/array.h ../cups/file.h
 snmp.o: ../cups/http-private.h ../cups/md5-private.h ../cups/ipp-private.h
@@ -49,35 +51,36 @@ snmp.o: ../cups/ipp.h ../cups/http.h
 socket.o: ../cups/http-private.h ../config.h ../cups/http.h
 socket.o: ../cups/versioning.h ../cups/md5-private.h ../cups/ipp-private.h
 socket.o: ../cups/ipp.h ../cups/http.h backend-private.h ../cups/backend.h
-socket.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/cups.h
-socket.o: ../cups/ipp.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-socket.o: ../cups/language.h ../cups/debug-private.h
-socket.o: ../cups/language-private.h ../cups/transcode.h
-socket.o: ../cups/snmp-private.h ../cups/string-private.h
+socket.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/ppd.h
+socket.o: ../cups/cups.h ../cups/file.h ../cups/ipp.h ../cups/language.h
+socket.o: ../cups/array.h ../cups/pwg-private.h ../cups/cups.h
+socket.o: ../cups/debug-private.h ../cups/language-private.h
+socket.o: ../cups/transcode.h ../cups/snmp-private.h ../cups/string-private.h
 test1284.o: ../cups/string-private.h ../config.h ieee1284.c backend-private.h
 test1284.o: ../cups/backend.h ../cups/versioning.h ../cups/sidechannel.h
-test1284.o: ../cups/ppd-private.h ../cups/cups.h ../cups/ipp.h ../cups/ppd.h
-test1284.o: ../cups/array.h ../cups/file.h ../cups/language.h
-test1284.o: ../cups/debug-private.h ../cups/language-private.h
-test1284.o: ../cups/transcode.h ../cups/snmp-private.h ../cups/http.h
-test1284.o: ../cups/cups-private.h ../cups/string-private.h
-test1284.o: ../cups/debug-private.h ../cups/http-private.h
+test1284.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+test1284.o: ../cups/ipp.h ../cups/language.h ../cups/array.h
+test1284.o: ../cups/pwg-private.h ../cups/cups.h ../cups/debug-private.h
+test1284.o: ../cups/language-private.h ../cups/transcode.h
+test1284.o: ../cups/snmp-private.h ../cups/http.h ../cups/cups-private.h
+test1284.o: ../cups/string-private.h ../cups/debug-private.h
+test1284.o: ../cups/ppd-private.h ../cups/http-private.h
 test1284.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-test1284.o: ../cups/http.h ../cups/language-private.h ../cups/pwg-private.h
+test1284.o: ../cups/http.h ../cups/language-private.h
 testbackend.o: ../cups/string-private.h ../config.h ../cups/cups.h
-testbackend.o: ../cups/ipp.h ../cups/ppd.h ../cups/array.h
-testbackend.o: ../cups/versioning.h ../cups/file.h ../cups/language.h
-testbackend.o: ../cups/sidechannel.h
+testbackend.o: ../cups/sidechannel.h ../cups/versioning.h
 testsupplies.o: backend-private.h ../cups/backend.h ../cups/versioning.h
-testsupplies.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/cups.h
-testsupplies.o: ../cups/ipp.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-testsupplies.o: ../cups/language.h ../cups/debug-private.h
+testsupplies.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/ppd.h
+testsupplies.o: ../cups/cups.h ../cups/file.h ../cups/ipp.h
+testsupplies.o: ../cups/language.h ../cups/array.h ../cups/pwg-private.h
+testsupplies.o: ../cups/cups.h ../cups/debug-private.h
 testsupplies.o: ../cups/language-private.h ../cups/transcode.h
 testsupplies.o: ../cups/snmp-private.h ../cups/http.h
 testsupplies.o: ../cups/string-private.h ../config.h
 usb.o: backend-private.h ../cups/backend.h ../cups/versioning.h
-usb.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/cups.h
-usb.o: ../cups/ipp.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-usb.o: ../cups/language.h ../cups/debug-private.h ../cups/language-private.h
-usb.o: ../cups/transcode.h ../cups/snmp-private.h ../cups/http.h
-usb.o: ../cups/string-private.h ../config.h
+usb.o: ../cups/sidechannel.h ../cups/ppd-private.h ../cups/ppd.h
+usb.o: ../cups/cups.h ../cups/file.h ../cups/ipp.h ../cups/language.h
+usb.o: ../cups/array.h ../cups/pwg-private.h ../cups/cups.h
+usb.o: ../cups/debug-private.h ../cups/language-private.h ../cups/transcode.h
+usb.o: ../cups/snmp-private.h ../cups/http.h ../cups/string-private.h
+usb.o: ../config.h
index 8acda032e01c7c6ec27d72692433f91f7b704ded..3c8d8571dd21d18b76d5ac7f2f4df3b55672b55f 100644 (file)
@@ -1,15 +1,15 @@
 /*
 * "$Id: pap.c 7720 2008-07-11 22:46:21Z mike $"
 *
-* Copyright 2004-2008 Apple Inc. All rights reserved.
-* 
+* Copyright 2004-2010 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
 * terms, and your use, installation, modification or redistribution of
 * this Apple software constitutes acceptance of these terms.  If you do
 * not agree with these terms, please do not use, install, modify or
 * redistribute this Apple software.
-* 
+*
 * In consideration of your agreement to abide by the following terms, and
 * subject to these terms, Apple grants you a personal, non-exclusive
 * license, under AppleÕs copyrights in this original Apple software (the
@@ -17,7 +17,7 @@
 * Software, with or without modifications, in source and/or binary forms;
 * provided that if you redistribute the Apple Software in its entirety and
 * without modifications, you must retain this notice and the following
-* text and disclaimers in all such redistributions of the Apple Software. 
+* text and disclaimers in all such redistributions of the Apple Software.
 * Neither the name, trademarks, service marks or logos of Apple Computer,
 * Inc. may be used to endorse or promote products derived from the Apple
 * Software without specific prior written permission from Apple.  Except
 * or implied, are granted by Apple herein, including but not limited to
 * any patent rights that may be infringed by your derivative works or by
 * other works in which the Apple Software may be incorporated.
-* 
+*
 * The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
 * MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
 * THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
 * OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-* 
+*
 * IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
 * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
@@ -42,8 +42,8 @@
 * POSSIBILITY OF SUCH DAMAGE.
 *
 *
-* This program implements the Printer Access Protocol (PAP) on top of AppleTalk 
-* Transaction Protocol (ATP). If it were to use the blocking pap functions of 
+* This program implements the Printer Access Protocol (PAP) on top of AppleTalk
+* Transaction Protocol (ATP). If it were to use the blocking pap functions of
 * the AppleTalk library it would need seperate threads for reading, writing
 * and status.
 *
@@ -98,7 +98,7 @@
 #include <cups/cups.h>
 #include <cups/backend.h>
 #include <cups/sidechannel.h>
-#include <cups/i18n.h>
+#include <cups/language-private.h>
 
 #include <netat/appletalk.h>
 #include <netat/atp.h>
@@ -117,20 +117,20 @@ enum { RUNNING, NOTLOADED, LOADED, OTHERERROR };
 
 extern int atp_abort(int fd, at_inet_t *dest, u_short tid);
 extern int atp_close(int fd);
-extern int atp_getreq(int fd, at_inet_t *src, char *buf, int *len, int *userdata, 
+extern int atp_getreq(int fd, at_inet_t *src, char *buf, int *len, int *userdata,
                      int *xo, u_short *tid, u_char *bitmap, int nowait);
 extern int atp_getresp(int fd, u_short *tid, at_resp_t *resp);
 extern int atp_look(int fd);
 extern int atp_open(at_socket *sock);
-extern int atp_sendreq(int fd, at_inet_t *dest, char *buf, int len, 
-                      int userdata, int xo, int xo_relt, u_short *tid, 
+extern int atp_sendreq(int fd, at_inet_t *dest, char *buf, int len,
+                      int userdata, int xo, int xo_relt, u_short *tid,
                       at_resp_t *resp, at_retry_t *retry, int nowait);
-extern int atp_sendrsp(int fd, at_inet_t *dest, int xo, u_short tid, 
+extern int atp_sendrsp(int fd, at_inet_t *dest, int xo, u_short tid,
                       at_resp_t *resp);
 extern int checkATStack();
-extern int nbp_lookup(at_entity_t *entity, at_nbptuple_t *buf, int max, 
+extern int nbp_lookup(at_entity_t *entity, at_nbptuple_t *buf, int max,
                      at_retry_t *retry);
-extern int nbp_make_entity(at_entity_t *entity, char *obj, char *type, 
+extern int nbp_make_entity(at_entity_t *entity, char *obj, char *type,
                           char *zone);
 extern int zip_getmyzone(char *ifName, at_nvestr_t *zone);
 #endif /* HAVE_APPLETALK_AT_PROTO_H */
@@ -168,16 +168,16 @@ int       gDebug  = 0;            /* Option: emit debugging info    */
 
 /* Local functions */
 static int listDevices(void);
-static int printFile(char* name, char* type, char* zone, int fdin, int fdout, 
+static int printFile(char* name, char* type, char* zone, int fdin, int fdout,
                     int fderr, int copies, int argc);
-static int papOpen(at_nbptuple_t* tuple, u_char* connID, int* fd, 
+static int papOpen(at_nbptuple_t* tuple, u_char* connID, int* fd,
                   at_inet_t* pap_to, u_char* flowQuantum);
 static int papClose();
-static int papWrite(int sockfd, at_inet_t* dest, u_short tid, u_char connID, 
+static int papWrite(int sockfd, at_inet_t* dest, u_short tid, u_char connID,
                    u_char flowQuantum, char* data, int len, int eof);
-static int papCloseResp(int sockfd, at_inet_t* dest, int xo, u_short tid, 
+static int papCloseResp(int sockfd, at_inet_t* dest, int xo, u_short tid,
                        u_char connID);
-static int papSendRequest(int sockfd, at_inet_t* dest, u_char connID, 
+static int papSendRequest(int sockfd, at_inet_t* dest, u_char connID,
                          int function, u_char bitmap, int xo, int seqno);
 static int papCancelRequest(int sockfd, u_short tid);
 static void sidechannel_request();
@@ -331,7 +331,7 @@ static int listDevices(void)
   /* Not required but sort them so they look nice */
   qsort(buf, numberFound, sizeof(at_nbptuple_t), nbptuple_compare);
 
-  for (i = 0; i < numberFound; i++) 
+  for (i = 0; i < numberFound; i++)
   {
     memcpy(name, buf[i].enu_entity.object.str, MIN(buf[i].enu_entity.object.len, sizeof(name)-1));
     name[MIN(buf[i].enu_entity.object.len, sizeof(name)-1)] = '\0';
@@ -418,7 +418,7 @@ static int printFile(char* name, char* type, char* zone, int fdin, int fdout, in
   u_char       flowQuantum = 1;
   time_t       now,
                start_time,
-               elasped_time, 
+               elasped_time,
                sleep_time,
                connect_timeout = -1,
                nextStatusTime = 0;
@@ -539,7 +539,7 @@ static int printFile(char* name, char* type, char* zone, int fdin, int fdout, in
   * Now that we are connected to the printer ignore SIGTERM so that we
   * can finish out any page data the driver sends (e.g. to eject the
   * current page...  if we are printing data from a file then catch the
-  * signal so we can send a PAP Close packet (otherwise you can't cancel 
+  * signal so we can send a PAP Close packet (otherwise you can't cancel
   * raw jobs...)
   */
 
@@ -688,14 +688,14 @@ static int printFile(char* name, char* type, char* zone, int fdin, int fdout, in
         _cupsLangPrintError(_("ERROR: Unable to look for PAP response"));
         break;
       }
-  
+
       if (rc > 0)
       {
         /* It's an ATP response */
         resp.resp[0].iov_base = sockBuffer;
         resp.resp[0].iov_len = sizeof(sockBuffer) - 1;
         resp.bitmap = 0x01;
-  
+
         if ((err = atp_getresp(gSockfd, &tid, &resp)) < 0)
         {
           _cupsLangPrintError(_("ERROR: Unable to get PAP response"));
@@ -725,7 +725,7 @@ static int printFile(char* name, char* type, char* zone, int fdin, int fdout, in
           statusUpdate(&iov_base[5], iov_base[4]);
         }
         break;
-      
+
       case AT_PAP_TYPE_SEND_DATA:            /* Send-Data packet */
         sendDataAddr.socket  = src.socket;
         gSendDataID     = tid;
@@ -753,7 +753,7 @@ static int printFile(char* name, char* type, char* zone, int fdin, int fdout, in
           }
         }
         break;
-    
+
       case AT_PAP_TYPE_DATA:              /* Data packet */
         for (len=0, i=0; i < ATP_TRESP_MAX; i++)
         {
@@ -769,12 +769,12 @@ static int printFile(char* name, char* type, char* zone, int fdin, int fdout, in
           char *logLevel;
           char logstr[512];
           int  logstrlen;
-          
+
          cupsBackChannelWrite(sockBuffer, len, 1.0);
-          
+
           sockBuffer[len] = '\0';     /* We always reserve room for the nul so we can use strstr() below*/
           pLineBegin = sockBuffer;
-                                        
+
           /* If there are PostScript status comments in the buffer log them.
            *
            *  This logic shouldn't be in the backend but until we get backchannel
@@ -786,16 +786,16 @@ static int printFile(char* name, char* type, char* zone, int fdin, int fdout, in
           {
             pCommentEnd += 3;            /* Skip past "]%%" */
             *pCommentEnd = '\0';         /* There's always room for the nul */
-            
+
             /* Strip the CRs & LFs before writing it to stderr */
             for (pChar = pLineBegin; pChar < pCommentEnd; pChar++)
               if (*pChar == '\r' || *pChar == '\n')
                 *pChar = ' ';
-                                                
+
             if (strncasecmp(pLineBegin, "%%[ Error:", 10) == 0)
             {
               /* logLevel should be "ERROR" here but this causes PrintCenter
-              *  to pause the queue which in turn clears this error, which 
+              *  to pause the queue which in turn clears this error, which
               *  restarts the job. So the job ends up in an infinite loop with
               *  the queue being held/un-held. Just make it DEBUG for now until
               *  we fix notifications later.
@@ -807,7 +807,7 @@ static int printFile(char* name, char* type, char* zone, int fdin, int fdout, in
               logLevel = "DEBUG";
             else
               logLevel = "INFO";
-            
+
             if ((logstrlen = snprintf(logstr, sizeof(logstr), "%s: %s\n", logLevel, pLineBegin)) >= sizeof(logstr))
             {
               /* If the string was trucnated make sure it has a linefeed before the nul */
@@ -840,10 +840,10 @@ static int printFile(char* name, char* type, char* zone, int fdin, int fdout, in
           goto Exit;
         }
         break;
-      
+
       case AT_PAP_TYPE_TICKLE:            /* Tickle packet */
         break;
-    
+
       case AT_PAP_TYPE_CLOSE_CONN:          /* Close-Connection packet */
         /* We shouldn't normally see this. */
         papCloseResp(gSockfd, &gSessionAddr, xo, tid, gConnID);
@@ -859,7 +859,7 @@ static int printFile(char* name, char* type, char* zone, int fdin, int fdout, in
         }
         goto Exit;
         break;
-    
+
       case AT_PAP_TYPE_OPEN_CONN:            /* Open-Connection packet */
       case AT_PAP_TYPE_OPEN_CONN_REPLY:        /* Open-Connection-Reply packet */
       case AT_PAP_TYPE_SEND_STATUS:          /* Send-Status packet */
@@ -867,13 +867,13 @@ static int printFile(char* name, char* type, char* zone, int fdin, int fdout, in
         _cupsLangPrintf(stderr, _("WARNING: Unexpected PAP packet of type %d\n"),
                        TYPE_OF(userdata));
         break;
-      
+
       default:
         _cupsLangPrintf(stderr, _("WARNING: Unknown PAP packet of type %d\n"),
                        TYPE_OF(userdata));
         break;
       }
-    
+
       if (CONNID_OF(userdata) == gConnID)
       {
         /* Reset tickle timer */
@@ -906,7 +906,7 @@ Exit:
  *
  * @result    A non-zero return value for errors
  */
-static int papOpen(at_nbptuple_t* tuple, u_char* connID, int* fd, 
+static int papOpen(at_nbptuple_t* tuple, u_char* connID, int* fd,
                   at_inet_t* sessionAddr, u_char* flowQuantum)
 {
   int          result,
@@ -914,7 +914,7 @@ static int papOpen(at_nbptuple_t* tuple, u_char* connID, int* fd,
                userdata;
   time_t       tm,
                waitTime;
-  char         data[10], 
+  char         data[10],
                rdata[ATP_DATA_SIZE];
   u_char       *puserdata;
   at_socket    socketfd;
@@ -930,7 +930,7 @@ static int papOpen(at_nbptuple_t* tuple, u_char* connID, int* fd,
   if ((*fd = atp_open(&socketfd)) < 0)
     return -1;
 
- /* 
+ /*
   * Build the open connection request packet.
   */
 
@@ -960,7 +960,7 @@ static int papOpen(at_nbptuple_t* tuple, u_char* connID, int* fd,
 
     fprintf(stderr, "DEBUG: -> %s\n", packet_name(AT_PAP_TYPE_OPEN_CONN));
 
-    if (atp_sendreq(*fd, &tuple->enu_addr, data, 4, userdata, 1, 0, 
+    if (atp_sendreq(*fd, &tuple->enu_addr, data, 4, userdata, 1, 0,
                    0, &resp, &retry, 0) < 0)
     {
       statusUpdate("Destination unreachable", 23);
@@ -971,7 +971,7 @@ static int papOpen(at_nbptuple_t* tuple, u_char* connID, int* fd,
     puserdata = (u_char *)&resp.userdata[0];
     open_result = OSReadBigInt16(&rdata[2], 0);
 
-    fprintf(stderr, "DEBUG: <- %s, status %d\n", packet_name(puserdata[1]), 
+    fprintf(stderr, "DEBUG: <- %s, status %d\n", packet_name(puserdata[1]),
            open_result);
 
    /*
@@ -1019,7 +1019,7 @@ static int papOpen(at_nbptuple_t* tuple, u_char* connID, int* fd,
 
 /*!
  * @function  papClose
- * @abstract  End a PAP session by canceling outstanding send-data & tickle 
+ * @abstract  End a PAP session by canceling outstanding send-data & tickle
  *            transactions and sending a PAP close request.
  *
  * @result  A non-zero return value for errors
@@ -1040,7 +1040,7 @@ static int papClose()
     gSockfd = 0;
 
     alarm(0);
-  
+
     /* Cancel the pending send-data and tickle trnsactions
     */
     if (gSendDataID)
@@ -1049,7 +1049,7 @@ static int papClose()
       gSendDataID = 0;
       papCancelRequest(fd, tmpID);
     }
-  
+
     if (gTickleID)
     {
       tmpID = gTickleID;
@@ -1059,29 +1059,29 @@ static int papClose()
 
     /* This is a workaround for bug #2735145. The problem is papWrite()
     *  returns before the ATP TRel arrives for it. If we send the pap close packet
-    *  before this release then the printer can drop the last data packets. 
-    *  The effect on an Epson printer is the last page doesn't print, on HP it 
+    *  before this release then the printer can drop the last data packets.
+    *  The effect on an Epson printer is the last page doesn't print, on HP it
     *  doesn't close the pap session.
     */
     if (gWaitEOF == false)
       sleep(2);
 
     fprintf(stderr, "DEBUG: -> %s\n", packet_name(AT_PAP_TYPE_CLOSE_CONN));
-  
+
     puserdata[0] = gConnID;
     puserdata[1] = AT_PAP_TYPE_CLOSE_CONN;
     puserdata[2] = 0;
     puserdata[3] = 0;
-  
+
     retry.interval = 2;
     retry.retries = 5;
-  
+
     resp.bitmap = 0x01;
     resp.resp[0].iov_base = rdata;
     resp.resp[0].iov_len = sizeof(rdata);
-  
+
     atp_sendreq(fd, &gSessionAddr, 0, 0, userdata, 1, 0, 0, &resp, &retry, 0);
-  
+
     close(fd);
   }
   return noErr;
@@ -1307,7 +1307,7 @@ sidechannel_request()
     case CUPS_SC_CMD_SOFT_RESET:       /* Do a soft reset */
     case CUPS_SC_CMD_GET_DEVICE_ID:    /* Return IEEE-1284 device ID */
     default:
-       return (cupsSideChannelWrite(command, CUPS_SC_STATUS_NOT_IMPLEMENTED, 
+       return (cupsSideChannelWrite(command, CUPS_SC_STATUS_NOT_IMPLEMENTED,
                                     NULL, 0, 1.0));
        break;
   }
@@ -1336,8 +1336,8 @@ void statusUpdate(char* status, u_char statusLen)
     last_statusLen = statusLen;
     memcpy(status_str, status, statusLen);
     status_str[(int)statusLen] = '\0';
-    
-    /* 
+
+    /*
      * Make sure the status string is in the form of a PostScript comment.
      */
 
@@ -1382,7 +1382,7 @@ static int parseUri(const char* argv0, char* name, char* type, char* zone)
   method[0] = username[0] = hostname[0] = resource[0] = '\0';
   port = 0;
 
-  httpSeparateURI(HTTP_URI_CODING_NONE, argv0, method, sizeof(method), 
+  httpSeparateURI(HTTP_URI_CODING_NONE, argv0, method, sizeof(method),
                  username, sizeof(username),
                  hostname, sizeof(hostname), &port,
                  resource, sizeof(resource));
@@ -1526,7 +1526,7 @@ static int addPercentEscapes(const char* src, char* dst, int dstMax)
   {
     c = *src++;
 
-    if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || 
+    if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') ||
         (c >= '0' && c <= '9') || (c == '.' || c == '-'  || c == '*' || c == '_'))
     {
       if (dst >= dstEnd)
@@ -1594,7 +1594,7 @@ static int removePercentEscapes(const char* src, char* dst, int dstMax)
 int nbptuple_compare(const void *p1, const void *p2)
 {
   int result;
-  int len = MIN(((at_nbptuple_t*)p1)->enu_entity.object.len, 
+  int len = MIN(((at_nbptuple_t*)p1)->enu_entity.object.len,
           ((at_nbptuple_t*)p2)->enu_entity.object.len);
 
   if ((result = memcmp(((at_nbptuple_t*)p1)->enu_entity.object.str, ((at_nbptuple_t*)p2)->enu_entity.object.str, len)) == 0)
@@ -1619,7 +1619,7 @@ int nbptuple_compare(const void *p1, const void *p2)
 static int okayToUseAppleTalk()
 {
   int atStatus = checkATStack();
-  
+
   /* I think the test should be:
    *    return atStatus == RUNNING || atStatus == LOADED;
    * but when I disable AppleTalk from the network control panel and
index 1420a4c0f0e27aa138d581c78dcd9f578bac5773..7a3341fb61f5adeb3aa88e10cef52be5e5fc32ac 100644 (file)
@@ -1,26 +1,30 @@
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-lpc.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-lpc.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-lpc.o: ../cups/language.h ../cups/string-private.h ../config.h
-lpc.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-lpc.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-lpc.o: ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h
-lpq.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-lpq.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-lpq.o: ../cups/language.h ../cups/string-private.h ../config.h
-lpq.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-lpq.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-lpq.o: ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h
-lpr.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-lpr.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-lpr.o: ../cups/language.h ../cups/string-private.h ../config.h
-lpr.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-lpr.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-lpr.o: ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h
-lprm.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-lprm.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-lprm.o: ../cups/language.h ../cups/string-private.h ../config.h
-lprm.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-lprm.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-lprm.o: ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h
+lpc.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+lpc.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/language.h
+lpc.o: ../cups/array.h ../cups/string-private.h ../config.h
+lpc.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+lpc.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+lpc.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+lpc.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
+lpq.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+lpq.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/language.h
+lpq.o: ../cups/array.h ../cups/string-private.h ../config.h
+lpq.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+lpq.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+lpq.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+lpq.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
+lpr.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+lpr.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/language.h
+lpr.o: ../cups/array.h ../cups/string-private.h ../config.h
+lpr.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+lpr.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+lpr.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+lpr.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
+lprm.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+lprm.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/language.h
+lprm.o: ../cups/array.h ../cups/string-private.h ../config.h
+lprm.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+lprm.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+lprm.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+lprm.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
index e1607f929ee0f2546db571bf91b564dbfcd8e071..c8a4e51ba531954eed944079d1dc4c59ca617c03 100644 (file)
@@ -1,76 +1,75 @@
 # DO NOT DELETE
 
-help-index.o: cgi-private.h cgi.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-help-index.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-help-index.o: ../cups/file.h ../cups/language.h ../cups/array.h help-index.h
+help-index.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
+help-index.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+help-index.o: ../cups/language.h ../cups/array.h ../cups/array.h help-index.h
 help-index.o: ../cups/debug-private.h ../cups/language-private.h
 help-index.o: ../cups/transcode.h ../cups/string-private.h ../config.h
 help-index.o: ../cups/dir.h
-html.o: cgi-private.h cgi.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-html.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-html.o: ../cups/language.h ../cups/array.h help-index.h
-html.o: ../cups/debug-private.h ../cups/language-private.h
-html.o: ../cups/transcode.h ../cups/string-private.h ../config.h
-ipp-var.o: cgi-private.h cgi.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-ipp-var.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-ipp-var.o: ../cups/language.h ../cups/array.h help-index.h
+html.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
+html.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/language.h
+html.o: ../cups/array.h ../cups/array.h help-index.h ../cups/debug-private.h
+html.o: ../cups/language-private.h ../cups/transcode.h
+html.o: ../cups/string-private.h ../config.h
+ipp-var.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
+ipp-var.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+ipp-var.o: ../cups/language.h ../cups/array.h ../cups/array.h help-index.h
 ipp-var.o: ../cups/debug-private.h ../cups/language-private.h
 ipp-var.o: ../cups/transcode.h ../cups/string-private.h ../config.h
-search.o: cgi-private.h cgi.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-search.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-search.o: ../cups/language.h ../cups/array.h help-index.h
+search.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
+search.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+search.o: ../cups/language.h ../cups/array.h ../cups/array.h help-index.h
 search.o: ../cups/debug-private.h ../cups/language-private.h
 search.o: ../cups/transcode.h ../cups/string-private.h ../config.h
-template.o: cgi-private.h cgi.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-template.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-template.o: ../cups/language.h ../cups/array.h help-index.h
+template.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
+template.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+template.o: ../cups/language.h ../cups/array.h ../cups/array.h help-index.h
 template.o: ../cups/debug-private.h ../cups/language-private.h
 template.o: ../cups/transcode.h ../cups/string-private.h ../config.h
-var.o: cgi-private.h cgi.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-var.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-var.o: ../cups/language.h ../cups/array.h help-index.h
-var.o: ../cups/debug-private.h ../cups/language-private.h ../cups/transcode.h
+var.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+var.o: ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+var.o: ../cups/array.h help-index.h ../cups/debug-private.h
+var.o: ../cups/language-private.h ../cups/transcode.h
 var.o: ../cups/string-private.h ../config.h ../cups/http.h
 var.o: ../cups/md5-private.h
-admin.o: cgi-private.h cgi.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-admin.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-admin.o: ../cups/language.h ../cups/array.h help-index.h
-admin.o: ../cups/debug-private.h ../cups/language-private.h
-admin.o: ../cups/transcode.h ../cups/string-private.h ../config.h
-admin.o: ../cups/adminutil.h ../cups/cups.h ../cups/file.h
-classes.o: cgi-private.h cgi.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-classes.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-classes.o: ../cups/language.h ../cups/array.h help-index.h
+admin.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
+admin.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/language.h
+admin.o: ../cups/array.h ../cups/array.h help-index.h ../cups/debug-private.h
+admin.o: ../cups/language-private.h ../cups/transcode.h
+admin.o: ../cups/string-private.h ../config.h ../cups/adminutil.h
+admin.o: ../cups/cups.h ../cups/ppd.h
+classes.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
+classes.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+classes.o: ../cups/language.h ../cups/array.h ../cups/array.h help-index.h
 classes.o: ../cups/debug-private.h ../cups/language-private.h
 classes.o: ../cups/transcode.h ../cups/string-private.h ../config.h
-help.o: cgi-private.h cgi.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-help.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-help.o: ../cups/language.h ../cups/array.h help-index.h
-help.o: ../cups/debug-private.h ../cups/language-private.h
-help.o: ../cups/transcode.h ../cups/string-private.h ../config.h
-jobs.o: cgi-private.h cgi.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-jobs.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-jobs.o: ../cups/language.h ../cups/array.h help-index.h
-jobs.o: ../cups/debug-private.h ../cups/language-private.h
-jobs.o: ../cups/transcode.h ../cups/string-private.h ../config.h
-makedocset.o: cgi.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-makedocset.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-makedocset.o: ../cups/file.h ../cups/language.h ../cups/array.h help-index.h
-printers.o: cgi-private.h cgi.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-printers.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-printers.o: ../cups/language.h ../cups/array.h help-index.h
+help.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
+help.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/language.h
+help.o: ../cups/array.h ../cups/array.h help-index.h ../cups/debug-private.h
+help.o: ../cups/language-private.h ../cups/transcode.h
+help.o: ../cups/string-private.h ../config.h
+jobs.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
+jobs.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/language.h
+jobs.o: ../cups/array.h ../cups/array.h help-index.h ../cups/debug-private.h
+jobs.o: ../cups/language-private.h ../cups/transcode.h
+jobs.o: ../cups/string-private.h ../config.h
+makedocset.o: cgi.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+makedocset.o: ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+makedocset.o: ../cups/array.h help-index.h
+printers.o: cgi-private.h cgi.h ../cups/cups.h ../cups/file.h
+printers.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+printers.o: ../cups/language.h ../cups/array.h ../cups/array.h help-index.h
 printers.o: ../cups/debug-private.h ../cups/language-private.h
 printers.o: ../cups/transcode.h ../cups/string-private.h ../config.h
-testcgi.o: cgi.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-testcgi.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-testcgi.o: ../cups/language.h ../cups/array.h help-index.h
-testhi.o: cgi.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-testhi.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-testhi.o: ../cups/language.h ../cups/array.h help-index.h
-testtemplate.o: cgi.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-testtemplate.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-testtemplate.o: ../cups/file.h ../cups/language.h ../cups/array.h
-testtemplate.o: help-index.h
-websearch.o: cgi.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-websearch.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-websearch.o: ../cups/file.h ../cups/language.h ../cups/array.h help-index.h
+testcgi.o: cgi.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+testcgi.o: ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+testcgi.o: ../cups/array.h help-index.h
+testhi.o: cgi.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+testhi.o: ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+testhi.o: ../cups/array.h help-index.h
+testtemplate.o: cgi.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+testtemplate.o: ../cups/ipp.h ../cups/http.h ../cups/language.h
+testtemplate.o: ../cups/array.h ../cups/array.h help-index.h
+websearch.o: cgi.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+websearch.o: ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+websearch.o: ../cups/array.h help-index.h
index 5617be2247bb0f268ef117014553fc1b2e46d901..58fb7b8a4b40bb6794a5f41a33f6d1dca254cdbd 100644 (file)
@@ -40,7 +40,7 @@
 
 #include "cgi-private.h"
 #include <cups/adminutil.h>
-#include <cups/file.h>
+#include <cups/ppd.h>
 #include <errno.h>
 #include <unistd.h>
 #include <fcntl.h>
index f02a741338e5e40d14db45989f0caba0d5a9da1c..e51c430c1d2df1a34a1828ba9b3142616166eaeb 100644 (file)
@@ -46,7 +46,7 @@ DefaultAuthType Basic
 # Set the default printer/job policies...
 <Policy default>
   # Job-related operations must be done by the owner or an administrator...
-  <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job CUPS-Get-Document>
+  <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
     Require user @OWNER @SYSTEM
     Order deny,allow
   </Limit>
@@ -66,7 +66,7 @@ DefaultAuthType Basic
   </Limit>
 
   # Only the owner or an administrator can cancel or authenticate a job...
-  <Limit Cancel-Job CUPS-Authenticate-Job>
+  <Limit Cancel-Job Cancel-Jobs CUPS-Authenticate-Job>
     Require user @OWNER @CUPS_DEFAULT_PRINTOPERATOR_AUTH@
     Order deny,allow
   </Limit>
@@ -84,7 +84,7 @@ DefaultAuthType Basic
     Order deny,allow
   </Limit>
 
-  <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job CUPS-Get-Document>
+  <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
     AuthType Default
     Require user @OWNER @SYSTEM
     Order deny,allow
@@ -105,7 +105,7 @@ DefaultAuthType Basic
   </Limit>
 
   # Only the owner or an administrator can cancel or authenticate a job...
-  <Limit Cancel-Job CUPS-Authenticate-Job>
+  <Limit Cancel-Job Cancel-Jobs CUPS-Authenticate-Job>
     AuthType Default
     Require user @OWNER @CUPS_DEFAULT_PRINTOPERATOR_AUTH@
     Order deny,allow
index 6ddb2548b5c02a2ccd6511dca3fab6f1811c8919..56639ae695ea792f0d28283928d7ffc1e8218216 100644 (file)
 # DO NOT DELETE
 
-adminutil.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-adminutil.o: array.h file.h language.h string-private.h ../config.h
-adminutil.o: debug-private.h http-private.h ../cups/http.h md5-private.h
-adminutil.o: ipp-private.h ../cups/ipp.h language-private.h
-adminutil.o: ../cups/transcode.h pwg-private.h adminutil.h cups.h
+adminutil.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+adminutil.o: language.h array.h string-private.h ../config.h debug-private.h
+adminutil.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+adminutil.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+adminutil.o: language-private.h ../cups/transcode.h adminutil.h
 array.o: string-private.h ../config.h debug-private.h array.h versioning.h
-attr.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-attr.o: file.h language.h string-private.h ../config.h debug-private.h
-attr.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
-attr.o: ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
-attr.o: ppd-private.h
-auth.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-auth.o: file.h language.h string-private.h ../config.h debug-private.h
-auth.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
-auth.o: ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
+attr.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+attr.o: language.h array.h string-private.h ../config.h debug-private.h
+attr.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+attr.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+attr.o: language-private.h ../cups/transcode.h
+auth.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+auth.o: language.h array.h string-private.h ../config.h debug-private.h
+auth.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+auth.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+auth.o: language-private.h ../cups/transcode.h
 backchannel.o: cups.h
-backend.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-backend.o: array.h file.h language.h string-private.h ../config.h
-backend.o: debug-private.h http-private.h ../cups/http.h md5-private.h
-backend.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-backend.o: pwg-private.h backend.h
-conflicts.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-conflicts.o: array.h file.h language.h string-private.h ../config.h
-conflicts.o: debug-private.h http-private.h ../cups/http.h md5-private.h
-conflicts.o: ipp-private.h ../cups/ipp.h language-private.h
-conflicts.o: ../cups/transcode.h pwg-private.h ppd-private.h
-custom.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-custom.o: array.h file.h language.h string-private.h ../config.h
-custom.o: debug-private.h http-private.h ../cups/http.h md5-private.h
-custom.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-custom.o: pwg-private.h
-debug.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-debug.o: array.h file.h language.h string-private.h ../config.h
-debug.o: debug-private.h http-private.h ../cups/http.h md5-private.h
-debug.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-debug.o: pwg-private.h
-dest.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-dest.o: file.h language.h string-private.h ../config.h debug-private.h
-dest.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
-dest.o: ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
+backend.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+backend.o: language.h array.h string-private.h ../config.h debug-private.h
+backend.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+backend.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+backend.o: language-private.h ../cups/transcode.h backend.h
+conflicts.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+conflicts.o: language.h array.h string-private.h ../config.h debug-private.h
+conflicts.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+conflicts.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+conflicts.o: language-private.h ../cups/transcode.h
+custom.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+custom.o: language.h array.h string-private.h ../config.h debug-private.h
+custom.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+custom.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+custom.o: language-private.h ../cups/transcode.h
+debug.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+debug.o: language.h array.h string-private.h ../config.h debug-private.h
+debug.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+debug.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+debug.o: language-private.h ../cups/transcode.h
+dest.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+dest.o: language.h array.h string-private.h ../config.h debug-private.h
+dest.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+dest.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+dest.o: language-private.h ../cups/transcode.h
 dir.o: string-private.h ../config.h debug-private.h dir.h versioning.h
-emit.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-emit.o: file.h language.h string-private.h ../config.h debug-private.h
-emit.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
-emit.o: ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
-encode.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-encode.o: array.h file.h language.h string-private.h ../config.h
-encode.o: debug-private.h http-private.h ../cups/http.h md5-private.h
-encode.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-encode.o: pwg-private.h
-file.o: file-private.h cups-private.h ../cups/cups.h ipp.h http.h
-file.o: versioning.h ppd.h array.h file.h language.h string-private.h
-file.o: ../config.h debug-private.h http-private.h ../cups/http.h
-file.o: md5-private.h ipp-private.h ../cups/ipp.h language-private.h
-file.o: ../cups/transcode.h pwg-private.h
-getdevices.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-getdevices.o: array.h file.h language.h string-private.h ../config.h
-getdevices.o: debug-private.h http-private.h ../cups/http.h md5-private.h
-getdevices.o: ipp-private.h ../cups/ipp.h language-private.h
-getdevices.o: ../cups/transcode.h pwg-private.h
+emit.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+emit.o: language.h array.h string-private.h ../config.h debug-private.h
+emit.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+emit.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+emit.o: language-private.h ../cups/transcode.h
+encode.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+encode.o: language.h array.h string-private.h ../config.h debug-private.h
+encode.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+encode.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+encode.o: language-private.h ../cups/transcode.h
+file.o: file-private.h cups-private.h ../cups/cups.h file.h versioning.h
+file.o: ipp.h http.h language.h array.h string-private.h ../config.h
+file.o: debug-private.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+file.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
+file.o: ../cups/ipp.h language-private.h ../cups/transcode.h
+getdevices.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+getdevices.o: language.h array.h string-private.h ../config.h debug-private.h
+getdevices.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+getdevices.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+getdevices.o: language-private.h ../cups/transcode.h
 getifaddrs.o: http-private.h ../config.h ../cups/http.h md5-private.h
 getifaddrs.o: ipp-private.h ../cups/ipp.h
-getputfile.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-getputfile.o: array.h file.h language.h string-private.h ../config.h
-getputfile.o: debug-private.h http-private.h ../cups/http.h md5-private.h
-getputfile.o: ipp-private.h ../cups/ipp.h language-private.h
-getputfile.o: ../cups/transcode.h pwg-private.h
-globals.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-globals.o: array.h file.h language.h string-private.h ../config.h
-globals.o: debug-private.h http-private.h ../cups/http.h md5-private.h
-globals.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-globals.o: pwg-private.h
-http.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-http.o: file.h language.h string-private.h ../config.h debug-private.h
-http.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
-http.o: ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
-http-addr.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-http-addr.o: array.h file.h language.h string-private.h ../config.h
-http-addr.o: debug-private.h http-private.h ../cups/http.h md5-private.h
-http-addr.o: ipp-private.h ../cups/ipp.h language-private.h
-http-addr.o: ../cups/transcode.h pwg-private.h
-http-addrlist.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h
-http-addrlist.o: ppd.h array.h file.h language.h string-private.h ../config.h
-http-addrlist.o: debug-private.h http-private.h ../cups/http.h md5-private.h
+getputfile.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+getputfile.o: language.h array.h string-private.h ../config.h debug-private.h
+getputfile.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+getputfile.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+getputfile.o: language-private.h ../cups/transcode.h
+globals.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+globals.o: language.h array.h string-private.h ../config.h debug-private.h
+globals.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+globals.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+globals.o: language-private.h ../cups/transcode.h
+http.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+http.o: language.h array.h string-private.h ../config.h debug-private.h
+http.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+http.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+http.o: language-private.h ../cups/transcode.h
+http-addr.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+http-addr.o: language.h array.h string-private.h ../config.h debug-private.h
+http-addr.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+http-addr.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+http-addr.o: language-private.h ../cups/transcode.h
+http-addrlist.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h
+http-addrlist.o: http.h language.h array.h string-private.h ../config.h
+http-addrlist.o: debug-private.h ppd-private.h ../cups/ppd.h cups.h
+http-addrlist.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
 http-addrlist.o: ipp-private.h ../cups/ipp.h language-private.h
-http-addrlist.o: ../cups/transcode.h pwg-private.h
-http-support.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-http-support.o: array.h file.h language.h string-private.h ../config.h
-http-support.o: debug-private.h http-private.h ../cups/http.h md5-private.h
+http-addrlist.o: ../cups/transcode.h
+http-support.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h
+http-support.o: http.h language.h array.h string-private.h ../config.h
+http-support.o: debug-private.h ppd-private.h ../cups/ppd.h cups.h
+http-support.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
 http-support.o: ipp-private.h ../cups/ipp.h language-private.h
-http-support.o: ../cups/transcode.h pwg-private.h
-ipp.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-ipp.o: file.h language.h string-private.h ../config.h debug-private.h
-ipp.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
-ipp.o: ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
-ipp-support.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-ipp-support.o: array.h file.h language.h string-private.h ../config.h
-ipp-support.o: debug-private.h http-private.h ../cups/http.h md5-private.h
+http-support.o: ../cups/transcode.h
+ipp.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+ipp.o: language.h array.h string-private.h ../config.h debug-private.h
+ipp.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+ipp.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+ipp.o: language-private.h ../cups/transcode.h
+ipp-support.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+ipp-support.o: language.h array.h string-private.h ../config.h
+ipp-support.o: debug-private.h ppd-private.h ../cups/ppd.h cups.h
+ipp-support.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
 ipp-support.o: ipp-private.h ../cups/ipp.h language-private.h
-ipp-support.o: ../cups/transcode.h pwg-private.h
-langprintf.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-langprintf.o: array.h file.h language.h string-private.h ../config.h
-langprintf.o: debug-private.h http-private.h ../cups/http.h md5-private.h
-langprintf.o: ipp-private.h ../cups/ipp.h language-private.h
-langprintf.o: ../cups/transcode.h pwg-private.h
-language.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-language.o: array.h file.h language.h string-private.h ../config.h
-language.o: debug-private.h http-private.h ../cups/http.h md5-private.h
-language.o: ipp-private.h ../cups/ipp.h language-private.h
-language.o: ../cups/transcode.h pwg-private.h
-localize.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-localize.o: array.h file.h language.h string-private.h ../config.h
-localize.o: debug-private.h http-private.h ../cups/http.h md5-private.h
-localize.o: ipp-private.h ../cups/ipp.h language-private.h
-localize.o: ../cups/transcode.h pwg-private.h ppd-private.h
-mark.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-mark.o: file.h language.h string-private.h ../config.h debug-private.h
-mark.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
-mark.o: ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
+ipp-support.o: ../cups/transcode.h
+langprintf.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+langprintf.o: language.h array.h string-private.h ../config.h debug-private.h
+langprintf.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+langprintf.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+langprintf.o: language-private.h ../cups/transcode.h
+language.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+language.o: language.h array.h string-private.h ../config.h debug-private.h
+language.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+language.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+language.o: language-private.h ../cups/transcode.h
+localize.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+localize.o: language.h array.h string-private.h ../config.h debug-private.h
+localize.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+localize.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+localize.o: language-private.h ../cups/transcode.h
+mark.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+mark.o: language.h array.h string-private.h ../config.h debug-private.h
+mark.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+mark.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+mark.o: language-private.h ../cups/transcode.h
 md5.o: md5-private.h string-private.h ../config.h
 md5passwd.o: http-private.h ../config.h ../cups/http.h md5-private.h
 md5passwd.o: ipp-private.h ../cups/ipp.h string-private.h
-notify.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-notify.o: array.h file.h language.h string-private.h ../config.h
-notify.o: debug-private.h http-private.h ../cups/http.h md5-private.h
-notify.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-notify.o: pwg-private.h
+notify.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+notify.o: language.h array.h string-private.h ../config.h debug-private.h
+notify.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+notify.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+notify.o: language-private.h ../cups/transcode.h
 options.o: cups.h string-private.h ../config.h debug-private.h
-page.o: string-private.h ../config.h debug-private.h ppd.h array.h
+page.o: string-private.h ../config.h debug-private.h ppd.h cups.h array.h
 page.o: versioning.h file.h
-ppd.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-ppd.o: file.h language.h string-private.h ../config.h debug-private.h
-ppd.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
-ppd.o: ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
-ppd.o: ppd-private.h
-pwg-file.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-pwg-file.o: array.h file.h language.h string-private.h ../config.h
-pwg-file.o: debug-private.h http-private.h ../cups/http.h md5-private.h
-pwg-file.o: ipp-private.h ../cups/ipp.h language-private.h
-pwg-file.o: ../cups/transcode.h pwg-private.h
-pwg-media.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-pwg-media.o: array.h file.h language.h string-private.h ../config.h
-pwg-media.o: debug-private.h http-private.h ../cups/http.h md5-private.h
-pwg-media.o: ipp-private.h ../cups/ipp.h language-private.h
-pwg-media.o: ../cups/transcode.h pwg-private.h
-pwg-ppd.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-pwg-ppd.o: array.h file.h language.h string-private.h ../config.h
-pwg-ppd.o: debug-private.h http-private.h ../cups/http.h md5-private.h
-pwg-ppd.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-pwg-ppd.o: pwg-private.h
-request.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-request.o: array.h file.h language.h string-private.h ../config.h
-request.o: debug-private.h http-private.h ../cups/http.h md5-private.h
-request.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-request.o: pwg-private.h
+ppd.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+ppd.o: language.h array.h string-private.h ../config.h debug-private.h
+ppd.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+ppd.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+ppd.o: language-private.h ../cups/transcode.h
+pwg-file.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+pwg-file.o: language.h array.h string-private.h ../config.h debug-private.h
+pwg-file.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+pwg-file.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+pwg-file.o: language-private.h ../cups/transcode.h
+pwg-media.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+pwg-media.o: language.h array.h string-private.h ../config.h debug-private.h
+pwg-media.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+pwg-media.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+pwg-media.o: language-private.h ../cups/transcode.h
+pwg-ppd.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+pwg-ppd.o: language.h array.h string-private.h ../config.h debug-private.h
+pwg-ppd.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+pwg-ppd.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+pwg-ppd.o: language-private.h ../cups/transcode.h
+request.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+request.o: language.h array.h string-private.h ../config.h debug-private.h
+request.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+request.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+request.o: language-private.h ../cups/transcode.h
 sidechannel.o: sidechannel.h versioning.h string-private.h ../config.h
 sidechannel.o: debug-private.h
-snmp.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-snmp.o: file.h language.h string-private.h ../config.h debug-private.h
-snmp.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
-snmp.o: ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
-snmp.o: snmp-private.h
+snmp.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+snmp.o: language.h array.h string-private.h ../config.h debug-private.h
+snmp.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+snmp.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+snmp.o: language-private.h ../cups/transcode.h snmp-private.h
 snprintf.o: string-private.h ../config.h
 string.o: string-private.h ../config.h debug-private.h array.h versioning.h
-tempfile.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-tempfile.o: array.h file.h language.h string-private.h ../config.h
-tempfile.o: debug-private.h http-private.h ../cups/http.h md5-private.h
-tempfile.o: ipp-private.h ../cups/ipp.h language-private.h
-tempfile.o: ../cups/transcode.h pwg-private.h
-transcode.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-transcode.o: array.h file.h language.h string-private.h ../config.h
-transcode.o: debug-private.h http-private.h ../cups/http.h md5-private.h
-transcode.o: ipp-private.h ../cups/ipp.h language-private.h
-transcode.o: ../cups/transcode.h pwg-private.h
-usersys.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-usersys.o: array.h file.h language.h string-private.h ../config.h
-usersys.o: debug-private.h http-private.h ../cups/http.h md5-private.h
-usersys.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-usersys.o: pwg-private.h
-util.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-util.o: file.h language.h string-private.h ../config.h debug-private.h
-util.o: http-private.h ../cups/http.h md5-private.h ipp-private.h
-util.o: ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
+tempfile.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+tempfile.o: language.h array.h string-private.h ../config.h debug-private.h
+tempfile.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+tempfile.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+tempfile.o: language-private.h ../cups/transcode.h
+transcode.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+transcode.o: language.h array.h string-private.h ../config.h debug-private.h
+transcode.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+transcode.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+transcode.o: language-private.h ../cups/transcode.h
+usersys.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+usersys.o: language.h array.h string-private.h ../config.h debug-private.h
+usersys.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+usersys.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+usersys.o: language-private.h ../cups/transcode.h
+util.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+util.o: language.h array.h string-private.h ../config.h debug-private.h
+util.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+util.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+util.o: language-private.h ../cups/transcode.h
 testadmin.o: adminutil.h cups.h string-private.h ../config.h
 testarray.o: string-private.h ../config.h debug-private.h array.h
 testarray.o: versioning.h dir.h
-testconflicts.o: cups.h string-private.h ../config.h
-testcups.o: string-private.h ../config.h cups.h
+testconflicts.o: cups.h ppd.h array.h versioning.h file.h string-private.h
+testconflicts.o: ../config.h
+testcups.o: string-private.h ../config.h cups.h ppd.h array.h versioning.h
+testcups.o: file.h
 testfile.o: string-private.h ../config.h debug-private.h file.h versioning.h
 testhttp.o: string-private.h ../config.h http-private.h ../cups/http.h
 testhttp.o: md5-private.h ipp-private.h ../cups/ipp.h
@@ -195,218 +207,231 @@ testi18n.o: string-private.h ../config.h language-private.h
 testi18n.o: ../cups/transcode.h language.h array.h versioning.h
 testipp.o: ../cups/file.h versioning.h string-private.h ../config.h
 testipp.o: ipp-private.h ../cups/ipp.h
-testoptions.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-testoptions.o: array.h file.h language.h string-private.h ../config.h
-testoptions.o: debug-private.h http-private.h ../cups/http.h md5-private.h
+testoptions.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+testoptions.o: language.h array.h string-private.h ../config.h
+testoptions.o: debug-private.h ppd-private.h ../cups/ppd.h cups.h
+testoptions.o: pwg-private.h http-private.h ../cups/http.h md5-private.h
 testoptions.o: ipp-private.h ../cups/ipp.h language-private.h
-testoptions.o: ../cups/transcode.h pwg-private.h
-testlang.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-testlang.o: array.h file.h language.h string-private.h ../config.h
-testlang.o: debug-private.h http-private.h ../cups/http.h md5-private.h
-testlang.o: ipp-private.h ../cups/ipp.h language-private.h
-testlang.o: ../cups/transcode.h pwg-private.h
-testppd.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-testppd.o: array.h file.h language.h string-private.h ../config.h
-testppd.o: debug-private.h http-private.h ../cups/http.h md5-private.h
-testppd.o: ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-testppd.o: pwg-private.h
-testpwg.o: pwg-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-testpwg.o: array.h file.h language.h
-testsnmp.o: cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-testsnmp.o: array.h file.h language.h string-private.h ../config.h
-testsnmp.o: debug-private.h http-private.h ../cups/http.h md5-private.h
-testsnmp.o: ipp-private.h ../cups/ipp.h language-private.h
-testsnmp.o: ../cups/transcode.h pwg-private.h snmp-private.h
+testoptions.o: ../cups/transcode.h
+testlang.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+testlang.o: language.h array.h string-private.h ../config.h debug-private.h
+testlang.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+testlang.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+testlang.o: language-private.h ../cups/transcode.h
+testppd.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+testppd.o: language.h array.h string-private.h ../config.h debug-private.h
+testppd.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+testppd.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+testppd.o: language-private.h ../cups/transcode.h
+testpwg.o: ppd-private.h ../cups/ppd.h cups.h array.h versioning.h file.h
+testpwg.o: pwg-private.h ../cups/cups.h ipp.h http.h language.h
+testsnmp.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+testsnmp.o: language.h array.h string-private.h ../config.h debug-private.h
+testsnmp.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+testsnmp.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+testsnmp.o: language-private.h ../cups/transcode.h snmp-private.h
 # DO NOT DELETE
 
-adminutil.32.o: adminutil.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-adminutil.32.o: adminutil.c  array.h file.h language.h string-private.h ../config.h
-adminutil.32.o: adminutil.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-adminutil.32.o: adminutil.c  ipp-private.h ../cups/ipp.h language-private.h
-adminutil.32.o: adminutil.c  ../cups/transcode.h pwg-private.h adminutil.h cups.h
+adminutil.32.o: adminutil.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+adminutil.32.o: adminutil.c  language.h array.h string-private.h ../config.h debug-private.h
+adminutil.32.o: adminutil.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+adminutil.32.o: adminutil.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+adminutil.32.o: adminutil.c  language-private.h ../cups/transcode.h adminutil.h
 array.32.o: array.c  string-private.h ../config.h debug-private.h array.h versioning.h
-attr.32.o: attr.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-attr.32.o: attr.c  file.h language.h string-private.h ../config.h debug-private.h
-attr.32.o: attr.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-attr.32.o: attr.c  ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
-attr.32.o: attr.c  ppd-private.h
-auth.32.o: auth.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-auth.32.o: auth.c  file.h language.h string-private.h ../config.h debug-private.h
-auth.32.o: auth.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-auth.32.o: auth.c  ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
+attr.32.o: attr.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+attr.32.o: attr.c  language.h array.h string-private.h ../config.h debug-private.h
+attr.32.o: attr.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+attr.32.o: attr.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+attr.32.o: attr.c  language-private.h ../cups/transcode.h
+auth.32.o: auth.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+auth.32.o: auth.c  language.h array.h string-private.h ../config.h debug-private.h
+auth.32.o: auth.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+auth.32.o: auth.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+auth.32.o: auth.c  language-private.h ../cups/transcode.h
 backchannel.32.o: backchannel.c  cups.h
-backend.32.o: backend.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-backend.32.o: backend.c  array.h file.h language.h string-private.h ../config.h
-backend.32.o: backend.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-backend.32.o: backend.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-backend.32.o: backend.c  pwg-private.h backend.h
-conflicts.32.o: conflicts.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-conflicts.32.o: conflicts.c  array.h file.h language.h string-private.h ../config.h
-conflicts.32.o: conflicts.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-conflicts.32.o: conflicts.c  ipp-private.h ../cups/ipp.h language-private.h
-conflicts.32.o: conflicts.c  ../cups/transcode.h pwg-private.h ppd-private.h
-custom.32.o: custom.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-custom.32.o: custom.c  array.h file.h language.h string-private.h ../config.h
-custom.32.o: custom.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-custom.32.o: custom.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-custom.32.o: custom.c  pwg-private.h
-debug.32.o: debug.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-debug.32.o: debug.c  array.h file.h language.h string-private.h ../config.h
-debug.32.o: debug.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-debug.32.o: debug.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-debug.32.o: debug.c  pwg-private.h
-dest.32.o: dest.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-dest.32.o: dest.c  file.h language.h string-private.h ../config.h debug-private.h
-dest.32.o: dest.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-dest.32.o: dest.c  ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
+backend.32.o: backend.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+backend.32.o: backend.c  language.h array.h string-private.h ../config.h debug-private.h
+backend.32.o: backend.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+backend.32.o: backend.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+backend.32.o: backend.c  language-private.h ../cups/transcode.h backend.h
+conflicts.32.o: conflicts.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+conflicts.32.o: conflicts.c  language.h array.h string-private.h ../config.h debug-private.h
+conflicts.32.o: conflicts.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+conflicts.32.o: conflicts.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+conflicts.32.o: conflicts.c  language-private.h ../cups/transcode.h
+custom.32.o: custom.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+custom.32.o: custom.c  language.h array.h string-private.h ../config.h debug-private.h
+custom.32.o: custom.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+custom.32.o: custom.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+custom.32.o: custom.c  language-private.h ../cups/transcode.h
+debug.32.o: debug.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+debug.32.o: debug.c  language.h array.h string-private.h ../config.h debug-private.h
+debug.32.o: debug.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+debug.32.o: debug.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+debug.32.o: debug.c  language-private.h ../cups/transcode.h
+dest.32.o: dest.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+dest.32.o: dest.c  language.h array.h string-private.h ../config.h debug-private.h
+dest.32.o: dest.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+dest.32.o: dest.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+dest.32.o: dest.c  language-private.h ../cups/transcode.h
 dir.32.o: dir.c  string-private.h ../config.h debug-private.h dir.h versioning.h
-emit.32.o: emit.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-emit.32.o: emit.c  file.h language.h string-private.h ../config.h debug-private.h
-emit.32.o: emit.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-emit.32.o: emit.c  ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
-encode.32.o: encode.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-encode.32.o: encode.c  array.h file.h language.h string-private.h ../config.h
-encode.32.o: encode.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-encode.32.o: encode.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-encode.32.o: encode.c  pwg-private.h
-file.32.o: file.c  file-private.h cups-private.h ../cups/cups.h ipp.h http.h
-file.32.o: file.c  versioning.h ppd.h array.h file.h language.h string-private.h
-file.32.o: file.c  ../config.h debug-private.h http-private.h ../cups/http.h
-file.32.o: file.c  md5-private.h ipp-private.h ../cups/ipp.h language-private.h
-file.32.o: file.c  ../cups/transcode.h pwg-private.h
-getdevices.32.o: getdevices.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-getdevices.32.o: getdevices.c  array.h file.h language.h string-private.h ../config.h
-getdevices.32.o: getdevices.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-getdevices.32.o: getdevices.c  ipp-private.h ../cups/ipp.h language-private.h
-getdevices.32.o: getdevices.c  ../cups/transcode.h pwg-private.h
+emit.32.o: emit.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+emit.32.o: emit.c  language.h array.h string-private.h ../config.h debug-private.h
+emit.32.o: emit.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+emit.32.o: emit.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+emit.32.o: emit.c  language-private.h ../cups/transcode.h
+encode.32.o: encode.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+encode.32.o: encode.c  language.h array.h string-private.h ../config.h debug-private.h
+encode.32.o: encode.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+encode.32.o: encode.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+encode.32.o: encode.c  language-private.h ../cups/transcode.h
+file.32.o: file.c  file-private.h cups-private.h ../cups/cups.h file.h versioning.h
+file.32.o: file.c  ipp.h http.h language.h array.h string-private.h ../config.h
+file.32.o: file.c  debug-private.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+file.32.o: file.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
+file.32.o: file.c  ../cups/ipp.h language-private.h ../cups/transcode.h
+getdevices.32.o: getdevices.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+getdevices.32.o: getdevices.c  language.h array.h string-private.h ../config.h debug-private.h
+getdevices.32.o: getdevices.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+getdevices.32.o: getdevices.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+getdevices.32.o: getdevices.c  language-private.h ../cups/transcode.h
 getifaddrs.32.o: getifaddrs.c  http-private.h ../config.h ../cups/http.h md5-private.h
 getifaddrs.32.o: getifaddrs.c  ipp-private.h ../cups/ipp.h
-getputfile.32.o: getputfile.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-getputfile.32.o: getputfile.c  array.h file.h language.h string-private.h ../config.h
-getputfile.32.o: getputfile.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-getputfile.32.o: getputfile.c  ipp-private.h ../cups/ipp.h language-private.h
-getputfile.32.o: getputfile.c  ../cups/transcode.h pwg-private.h
-globals.32.o: globals.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-globals.32.o: globals.c  array.h file.h language.h string-private.h ../config.h
-globals.32.o: globals.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-globals.32.o: globals.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-globals.32.o: globals.c  pwg-private.h
-http.32.o: http.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-http.32.o: http.c  file.h language.h string-private.h ../config.h debug-private.h
-http.32.o: http.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-http.32.o: http.c  ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
-http-addr.32.o: http-addr.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-http-addr.32.o: http-addr.c  array.h file.h language.h string-private.h ../config.h
-http-addr.32.o: http-addr.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-http-addr.32.o: http-addr.c  ipp-private.h ../cups/ipp.h language-private.h
-http-addr.32.o: http-addr.c  ../cups/transcode.h pwg-private.h
-http-addrlist.32.o: http-addrlist.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h
-http-addrlist.32.o: http-addrlist.c  ppd.h array.h file.h language.h string-private.h ../config.h
-http-addrlist.32.o: http-addrlist.c  debug-private.h http-private.h ../cups/http.h md5-private.h
+getputfile.32.o: getputfile.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+getputfile.32.o: getputfile.c  language.h array.h string-private.h ../config.h debug-private.h
+getputfile.32.o: getputfile.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+getputfile.32.o: getputfile.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+getputfile.32.o: getputfile.c  language-private.h ../cups/transcode.h
+globals.32.o: globals.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+globals.32.o: globals.c  language.h array.h string-private.h ../config.h debug-private.h
+globals.32.o: globals.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+globals.32.o: globals.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+globals.32.o: globals.c  language-private.h ../cups/transcode.h
+http.32.o: http.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+http.32.o: http.c  language.h array.h string-private.h ../config.h debug-private.h
+http.32.o: http.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+http.32.o: http.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+http.32.o: http.c  language-private.h ../cups/transcode.h
+http-addr.32.o: http-addr.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+http-addr.32.o: http-addr.c  language.h array.h string-private.h ../config.h debug-private.h
+http-addr.32.o: http-addr.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+http-addr.32.o: http-addr.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+http-addr.32.o: http-addr.c  language-private.h ../cups/transcode.h
+http-addrlist.32.o: http-addrlist.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h
+http-addrlist.32.o: http-addrlist.c  http.h language.h array.h string-private.h ../config.h
+http-addrlist.32.o: http-addrlist.c  debug-private.h ppd-private.h ../cups/ppd.h cups.h
+http-addrlist.32.o: http-addrlist.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
 http-addrlist.32.o: http-addrlist.c  ipp-private.h ../cups/ipp.h language-private.h
-http-addrlist.32.o: http-addrlist.c  ../cups/transcode.h pwg-private.h
-http-support.32.o: http-support.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-http-support.32.o: http-support.c  array.h file.h language.h string-private.h ../config.h
-http-support.32.o: http-support.c  debug-private.h http-private.h ../cups/http.h md5-private.h
+http-addrlist.32.o: http-addrlist.c  ../cups/transcode.h
+http-support.32.o: http-support.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h
+http-support.32.o: http-support.c  http.h language.h array.h string-private.h ../config.h
+http-support.32.o: http-support.c  debug-private.h ppd-private.h ../cups/ppd.h cups.h
+http-support.32.o: http-support.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
 http-support.32.o: http-support.c  ipp-private.h ../cups/ipp.h language-private.h
-http-support.32.o: http-support.c  ../cups/transcode.h pwg-private.h
-ipp.32.o: ipp.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-ipp.32.o: ipp.c  file.h language.h string-private.h ../config.h debug-private.h
-ipp.32.o: ipp.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-ipp.32.o: ipp.c  ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
-ipp-support.32.o: ipp-support.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-ipp-support.32.o: ipp-support.c  array.h file.h language.h string-private.h ../config.h
-ipp-support.32.o: ipp-support.c  debug-private.h http-private.h ../cups/http.h md5-private.h
+http-support.32.o: http-support.c  ../cups/transcode.h
+ipp.32.o: ipp.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+ipp.32.o: ipp.c  language.h array.h string-private.h ../config.h debug-private.h
+ipp.32.o: ipp.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+ipp.32.o: ipp.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+ipp.32.o: ipp.c  language-private.h ../cups/transcode.h
+ipp-support.32.o: ipp-support.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+ipp-support.32.o: ipp-support.c  language.h array.h string-private.h ../config.h
+ipp-support.32.o: ipp-support.c  debug-private.h ppd-private.h ../cups/ppd.h cups.h
+ipp-support.32.o: ipp-support.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
 ipp-support.32.o: ipp-support.c  ipp-private.h ../cups/ipp.h language-private.h
-ipp-support.32.o: ipp-support.c  ../cups/transcode.h pwg-private.h
-langprintf.32.o: langprintf.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-langprintf.32.o: langprintf.c  array.h file.h language.h string-private.h ../config.h
-langprintf.32.o: langprintf.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-langprintf.32.o: langprintf.c  ipp-private.h ../cups/ipp.h language-private.h
-langprintf.32.o: langprintf.c  ../cups/transcode.h pwg-private.h
-language.32.o: language.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-language.32.o: language.c  array.h file.h language.h string-private.h ../config.h
-language.32.o: language.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-language.32.o: language.c  ipp-private.h ../cups/ipp.h language-private.h
-language.32.o: language.c  ../cups/transcode.h pwg-private.h
-localize.32.o: localize.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-localize.32.o: localize.c  array.h file.h language.h string-private.h ../config.h
-localize.32.o: localize.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-localize.32.o: localize.c  ipp-private.h ../cups/ipp.h language-private.h
-localize.32.o: localize.c  ../cups/transcode.h pwg-private.h ppd-private.h
-mark.32.o: mark.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-mark.32.o: mark.c  file.h language.h string-private.h ../config.h debug-private.h
-mark.32.o: mark.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-mark.32.o: mark.c  ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
+ipp-support.32.o: ipp-support.c  ../cups/transcode.h
+langprintf.32.o: langprintf.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+langprintf.32.o: langprintf.c  language.h array.h string-private.h ../config.h debug-private.h
+langprintf.32.o: langprintf.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+langprintf.32.o: langprintf.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+langprintf.32.o: langprintf.c  language-private.h ../cups/transcode.h
+language.32.o: language.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+language.32.o: language.c  language.h array.h string-private.h ../config.h debug-private.h
+language.32.o: language.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+language.32.o: language.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+language.32.o: language.c  language-private.h ../cups/transcode.h
+localize.32.o: localize.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+localize.32.o: localize.c  language.h array.h string-private.h ../config.h debug-private.h
+localize.32.o: localize.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+localize.32.o: localize.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+localize.32.o: localize.c  language-private.h ../cups/transcode.h
+mark.32.o: mark.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+mark.32.o: mark.c  language.h array.h string-private.h ../config.h debug-private.h
+mark.32.o: mark.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+mark.32.o: mark.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+mark.32.o: mark.c  language-private.h ../cups/transcode.h
 md5.32.o: md5.c  md5-private.h string-private.h ../config.h
 md5passwd.32.o: md5passwd.c  http-private.h ../config.h ../cups/http.h md5-private.h
 md5passwd.32.o: md5passwd.c  ipp-private.h ../cups/ipp.h string-private.h
-notify.32.o: notify.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-notify.32.o: notify.c  array.h file.h language.h string-private.h ../config.h
-notify.32.o: notify.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-notify.32.o: notify.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-notify.32.o: notify.c  pwg-private.h
+notify.32.o: notify.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+notify.32.o: notify.c  language.h array.h string-private.h ../config.h debug-private.h
+notify.32.o: notify.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+notify.32.o: notify.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+notify.32.o: notify.c  language-private.h ../cups/transcode.h
 options.32.o: options.c  cups.h string-private.h ../config.h debug-private.h
-page.32.o: page.c  string-private.h ../config.h debug-private.h ppd.h array.h
+page.32.o: page.c  string-private.h ../config.h debug-private.h ppd.h cups.h array.h
 page.32.o: page.c  versioning.h file.h
-ppd.32.o: ppd.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-ppd.32.o: ppd.c  file.h language.h string-private.h ../config.h debug-private.h
-ppd.32.o: ppd.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-ppd.32.o: ppd.c  ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
-ppd.32.o: ppd.c  ppd-private.h
-pwg-file.32.o: pwg-file.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-pwg-file.32.o: pwg-file.c  array.h file.h language.h string-private.h ../config.h
-pwg-file.32.o: pwg-file.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-pwg-file.32.o: pwg-file.c  ipp-private.h ../cups/ipp.h language-private.h
-pwg-file.32.o: pwg-file.c  ../cups/transcode.h pwg-private.h
-pwg-media.32.o: pwg-media.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-pwg-media.32.o: pwg-media.c  array.h file.h language.h string-private.h ../config.h
-pwg-media.32.o: pwg-media.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-pwg-media.32.o: pwg-media.c  ipp-private.h ../cups/ipp.h language-private.h
-pwg-media.32.o: pwg-media.c  ../cups/transcode.h pwg-private.h
-pwg-ppd.32.o: pwg-ppd.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-pwg-ppd.32.o: pwg-ppd.c  array.h file.h language.h string-private.h ../config.h
-pwg-ppd.32.o: pwg-ppd.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-pwg-ppd.32.o: pwg-ppd.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-pwg-ppd.32.o: pwg-ppd.c  pwg-private.h
-request.32.o: request.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-request.32.o: request.c  array.h file.h language.h string-private.h ../config.h
-request.32.o: request.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-request.32.o: request.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-request.32.o: request.c  pwg-private.h
+ppd.32.o: ppd.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+ppd.32.o: ppd.c  language.h array.h string-private.h ../config.h debug-private.h
+ppd.32.o: ppd.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+ppd.32.o: ppd.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+ppd.32.o: ppd.c  language-private.h ../cups/transcode.h
+pwg-file.32.o: pwg-file.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+pwg-file.32.o: pwg-file.c  language.h array.h string-private.h ../config.h debug-private.h
+pwg-file.32.o: pwg-file.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+pwg-file.32.o: pwg-file.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+pwg-file.32.o: pwg-file.c  language-private.h ../cups/transcode.h
+pwg-media.32.o: pwg-media.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+pwg-media.32.o: pwg-media.c  language.h array.h string-private.h ../config.h debug-private.h
+pwg-media.32.o: pwg-media.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+pwg-media.32.o: pwg-media.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+pwg-media.32.o: pwg-media.c  language-private.h ../cups/transcode.h
+pwg-ppd.32.o: pwg-ppd.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+pwg-ppd.32.o: pwg-ppd.c  language.h array.h string-private.h ../config.h debug-private.h
+pwg-ppd.32.o: pwg-ppd.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+pwg-ppd.32.o: pwg-ppd.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+pwg-ppd.32.o: pwg-ppd.c  language-private.h ../cups/transcode.h
+request.32.o: request.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+request.32.o: request.c  language.h array.h string-private.h ../config.h debug-private.h
+request.32.o: request.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+request.32.o: request.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+request.32.o: request.c  language-private.h ../cups/transcode.h
 sidechannel.32.o: sidechannel.c  sidechannel.h versioning.h string-private.h ../config.h
 sidechannel.32.o: sidechannel.c  debug-private.h
-snmp.32.o: snmp.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-snmp.32.o: snmp.c  file.h language.h string-private.h ../config.h debug-private.h
-snmp.32.o: snmp.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-snmp.32.o: snmp.c  ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
-snmp.32.o: snmp.c  snmp-private.h
+snmp.32.o: snmp.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+snmp.32.o: snmp.c  language.h array.h string-private.h ../config.h debug-private.h
+snmp.32.o: snmp.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+snmp.32.o: snmp.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+snmp.32.o: snmp.c  language-private.h ../cups/transcode.h snmp-private.h
 snprintf.32.o: snprintf.c  string-private.h ../config.h
 string.32.o: string.c  string-private.h ../config.h debug-private.h array.h versioning.h
-tempfile.32.o: tempfile.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-tempfile.32.o: tempfile.c  array.h file.h language.h string-private.h ../config.h
-tempfile.32.o: tempfile.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-tempfile.32.o: tempfile.c  ipp-private.h ../cups/ipp.h language-private.h
-tempfile.32.o: tempfile.c  ../cups/transcode.h pwg-private.h
-transcode.32.o: transcode.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-transcode.32.o: transcode.c  array.h file.h language.h string-private.h ../config.h
-transcode.32.o: transcode.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-transcode.32.o: transcode.c  ipp-private.h ../cups/ipp.h language-private.h
-transcode.32.o: transcode.c  ../cups/transcode.h pwg-private.h
-usersys.32.o: usersys.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-usersys.32.o: usersys.c  array.h file.h language.h string-private.h ../config.h
-usersys.32.o: usersys.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-usersys.32.o: usersys.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-usersys.32.o: usersys.c  pwg-private.h
-util.32.o: util.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-util.32.o: util.c  file.h language.h string-private.h ../config.h debug-private.h
-util.32.o: util.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-util.32.o: util.c  ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
+tempfile.32.o: tempfile.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+tempfile.32.o: tempfile.c  language.h array.h string-private.h ../config.h debug-private.h
+tempfile.32.o: tempfile.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+tempfile.32.o: tempfile.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+tempfile.32.o: tempfile.c  language-private.h ../cups/transcode.h
+transcode.32.o: transcode.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+transcode.32.o: transcode.c  language.h array.h string-private.h ../config.h debug-private.h
+transcode.32.o: transcode.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+transcode.32.o: transcode.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+transcode.32.o: transcode.c  language-private.h ../cups/transcode.h
+usersys.32.o: usersys.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+usersys.32.o: usersys.c  language.h array.h string-private.h ../config.h debug-private.h
+usersys.32.o: usersys.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+usersys.32.o: usersys.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+usersys.32.o: usersys.c  language-private.h ../cups/transcode.h
+util.32.o: util.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+util.32.o: util.c  language.h array.h string-private.h ../config.h debug-private.h
+util.32.o: util.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+util.32.o: util.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+util.32.o: util.c  language-private.h ../cups/transcode.h
 testadmin.32.o: testadmin.c  adminutil.h cups.h string-private.h ../config.h
 testarray.32.o: testarray.c  string-private.h ../config.h debug-private.h array.h
 testarray.32.o: testarray.c  versioning.h dir.h
-testconflicts.32.o: testconflicts.c  cups.h string-private.h ../config.h
-testcups.32.o: testcups.c  string-private.h ../config.h cups.h
+testconflicts.32.o: testconflicts.c  cups.h ppd.h array.h versioning.h file.h string-private.h
+testconflicts.32.o: testconflicts.c  ../config.h
+testcups.32.o: testcups.c  string-private.h ../config.h cups.h ppd.h array.h versioning.h
+testcups.32.o: testcups.c  file.h
 testfile.32.o: testfile.c  string-private.h ../config.h debug-private.h file.h versioning.h
 testhttp.32.o: testhttp.c  string-private.h ../config.h http-private.h ../cups/http.h
 testhttp.32.o: testhttp.c  md5-private.h ipp-private.h ../cups/ipp.h
@@ -414,218 +439,231 @@ testi18n.32.o: testi18n.c  string-private.h ../config.h language-private.h
 testi18n.32.o: testi18n.c  ../cups/transcode.h language.h array.h versioning.h
 testipp.32.o: testipp.c  ../cups/file.h versioning.h string-private.h ../config.h
 testipp.32.o: testipp.c  ipp-private.h ../cups/ipp.h
-testoptions.32.o: testoptions.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-testoptions.32.o: testoptions.c  array.h file.h language.h string-private.h ../config.h
-testoptions.32.o: testoptions.c  debug-private.h http-private.h ../cups/http.h md5-private.h
+testoptions.32.o: testoptions.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+testoptions.32.o: testoptions.c  language.h array.h string-private.h ../config.h
+testoptions.32.o: testoptions.c  debug-private.h ppd-private.h ../cups/ppd.h cups.h
+testoptions.32.o: testoptions.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
 testoptions.32.o: testoptions.c  ipp-private.h ../cups/ipp.h language-private.h
-testoptions.32.o: testoptions.c  ../cups/transcode.h pwg-private.h
-testlang.32.o: testlang.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-testlang.32.o: testlang.c  array.h file.h language.h string-private.h ../config.h
-testlang.32.o: testlang.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-testlang.32.o: testlang.c  ipp-private.h ../cups/ipp.h language-private.h
-testlang.32.o: testlang.c  ../cups/transcode.h pwg-private.h
-testppd.32.o: testppd.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-testppd.32.o: testppd.c  array.h file.h language.h string-private.h ../config.h
-testppd.32.o: testppd.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-testppd.32.o: testppd.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-testppd.32.o: testppd.c  pwg-private.h
-testpwg.32.o: testpwg.c  pwg-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-testpwg.32.o: testpwg.c  array.h file.h language.h
-testsnmp.32.o: testsnmp.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-testsnmp.32.o: testsnmp.c  array.h file.h language.h string-private.h ../config.h
-testsnmp.32.o: testsnmp.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-testsnmp.32.o: testsnmp.c  ipp-private.h ../cups/ipp.h language-private.h
-testsnmp.32.o: testsnmp.c  ../cups/transcode.h pwg-private.h snmp-private.h
+testoptions.32.o: testoptions.c  ../cups/transcode.h
+testlang.32.o: testlang.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+testlang.32.o: testlang.c  language.h array.h string-private.h ../config.h debug-private.h
+testlang.32.o: testlang.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+testlang.32.o: testlang.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+testlang.32.o: testlang.c  language-private.h ../cups/transcode.h
+testppd.32.o: testppd.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+testppd.32.o: testppd.c  language.h array.h string-private.h ../config.h debug-private.h
+testppd.32.o: testppd.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+testppd.32.o: testppd.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+testppd.32.o: testppd.c  language-private.h ../cups/transcode.h
+testpwg.32.o: testpwg.c  ppd-private.h ../cups/ppd.h cups.h array.h versioning.h file.h
+testpwg.32.o: testpwg.c  pwg-private.h ../cups/cups.h ipp.h http.h language.h
+testsnmp.32.o: testsnmp.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+testsnmp.32.o: testsnmp.c  language.h array.h string-private.h ../config.h debug-private.h
+testsnmp.32.o: testsnmp.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+testsnmp.32.o: testsnmp.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+testsnmp.32.o: testsnmp.c  language-private.h ../cups/transcode.h snmp-private.h
 # DO NOT DELETE
 
-adminutil.64.o: adminutil.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-adminutil.64.o: adminutil.c  array.h file.h language.h string-private.h ../config.h
-adminutil.64.o: adminutil.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-adminutil.64.o: adminutil.c  ipp-private.h ../cups/ipp.h language-private.h
-adminutil.64.o: adminutil.c  ../cups/transcode.h pwg-private.h adminutil.h cups.h
+adminutil.64.o: adminutil.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+adminutil.64.o: adminutil.c  language.h array.h string-private.h ../config.h debug-private.h
+adminutil.64.o: adminutil.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+adminutil.64.o: adminutil.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+adminutil.64.o: adminutil.c  language-private.h ../cups/transcode.h adminutil.h
 array.64.o: array.c  string-private.h ../config.h debug-private.h array.h versioning.h
-attr.64.o: attr.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-attr.64.o: attr.c  file.h language.h string-private.h ../config.h debug-private.h
-attr.64.o: attr.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-attr.64.o: attr.c  ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
-attr.64.o: attr.c  ppd-private.h
-auth.64.o: auth.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-auth.64.o: auth.c  file.h language.h string-private.h ../config.h debug-private.h
-auth.64.o: auth.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-auth.64.o: auth.c  ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
+attr.64.o: attr.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+attr.64.o: attr.c  language.h array.h string-private.h ../config.h debug-private.h
+attr.64.o: attr.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+attr.64.o: attr.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+attr.64.o: attr.c  language-private.h ../cups/transcode.h
+auth.64.o: auth.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+auth.64.o: auth.c  language.h array.h string-private.h ../config.h debug-private.h
+auth.64.o: auth.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+auth.64.o: auth.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+auth.64.o: auth.c  language-private.h ../cups/transcode.h
 backchannel.64.o: backchannel.c  cups.h
-backend.64.o: backend.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-backend.64.o: backend.c  array.h file.h language.h string-private.h ../config.h
-backend.64.o: backend.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-backend.64.o: backend.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-backend.64.o: backend.c  pwg-private.h backend.h
-conflicts.64.o: conflicts.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-conflicts.64.o: conflicts.c  array.h file.h language.h string-private.h ../config.h
-conflicts.64.o: conflicts.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-conflicts.64.o: conflicts.c  ipp-private.h ../cups/ipp.h language-private.h
-conflicts.64.o: conflicts.c  ../cups/transcode.h pwg-private.h ppd-private.h
-custom.64.o: custom.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-custom.64.o: custom.c  array.h file.h language.h string-private.h ../config.h
-custom.64.o: custom.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-custom.64.o: custom.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-custom.64.o: custom.c  pwg-private.h
-debug.64.o: debug.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-debug.64.o: debug.c  array.h file.h language.h string-private.h ../config.h
-debug.64.o: debug.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-debug.64.o: debug.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-debug.64.o: debug.c  pwg-private.h
-dest.64.o: dest.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-dest.64.o: dest.c  file.h language.h string-private.h ../config.h debug-private.h
-dest.64.o: dest.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-dest.64.o: dest.c  ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
+backend.64.o: backend.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+backend.64.o: backend.c  language.h array.h string-private.h ../config.h debug-private.h
+backend.64.o: backend.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+backend.64.o: backend.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+backend.64.o: backend.c  language-private.h ../cups/transcode.h backend.h
+conflicts.64.o: conflicts.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+conflicts.64.o: conflicts.c  language.h array.h string-private.h ../config.h debug-private.h
+conflicts.64.o: conflicts.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+conflicts.64.o: conflicts.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+conflicts.64.o: conflicts.c  language-private.h ../cups/transcode.h
+custom.64.o: custom.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+custom.64.o: custom.c  language.h array.h string-private.h ../config.h debug-private.h
+custom.64.o: custom.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+custom.64.o: custom.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+custom.64.o: custom.c  language-private.h ../cups/transcode.h
+debug.64.o: debug.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+debug.64.o: debug.c  language.h array.h string-private.h ../config.h debug-private.h
+debug.64.o: debug.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+debug.64.o: debug.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+debug.64.o: debug.c  language-private.h ../cups/transcode.h
+dest.64.o: dest.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+dest.64.o: dest.c  language.h array.h string-private.h ../config.h debug-private.h
+dest.64.o: dest.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+dest.64.o: dest.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+dest.64.o: dest.c  language-private.h ../cups/transcode.h
 dir.64.o: dir.c  string-private.h ../config.h debug-private.h dir.h versioning.h
-emit.64.o: emit.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-emit.64.o: emit.c  file.h language.h string-private.h ../config.h debug-private.h
-emit.64.o: emit.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-emit.64.o: emit.c  ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
-encode.64.o: encode.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-encode.64.o: encode.c  array.h file.h language.h string-private.h ../config.h
-encode.64.o: encode.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-encode.64.o: encode.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-encode.64.o: encode.c  pwg-private.h
-file.64.o: file.c  file-private.h cups-private.h ../cups/cups.h ipp.h http.h
-file.64.o: file.c  versioning.h ppd.h array.h file.h language.h string-private.h
-file.64.o: file.c  ../config.h debug-private.h http-private.h ../cups/http.h
-file.64.o: file.c  md5-private.h ipp-private.h ../cups/ipp.h language-private.h
-file.64.o: file.c  ../cups/transcode.h pwg-private.h
-getdevices.64.o: getdevices.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-getdevices.64.o: getdevices.c  array.h file.h language.h string-private.h ../config.h
-getdevices.64.o: getdevices.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-getdevices.64.o: getdevices.c  ipp-private.h ../cups/ipp.h language-private.h
-getdevices.64.o: getdevices.c  ../cups/transcode.h pwg-private.h
+emit.64.o: emit.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+emit.64.o: emit.c  language.h array.h string-private.h ../config.h debug-private.h
+emit.64.o: emit.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+emit.64.o: emit.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+emit.64.o: emit.c  language-private.h ../cups/transcode.h
+encode.64.o: encode.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+encode.64.o: encode.c  language.h array.h string-private.h ../config.h debug-private.h
+encode.64.o: encode.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+encode.64.o: encode.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+encode.64.o: encode.c  language-private.h ../cups/transcode.h
+file.64.o: file.c  file-private.h cups-private.h ../cups/cups.h file.h versioning.h
+file.64.o: file.c  ipp.h http.h language.h array.h string-private.h ../config.h
+file.64.o: file.c  debug-private.h ppd-private.h ../cups/ppd.h cups.h pwg-private.h
+file.64.o: file.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
+file.64.o: file.c  ../cups/ipp.h language-private.h ../cups/transcode.h
+getdevices.64.o: getdevices.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+getdevices.64.o: getdevices.c  language.h array.h string-private.h ../config.h debug-private.h
+getdevices.64.o: getdevices.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+getdevices.64.o: getdevices.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+getdevices.64.o: getdevices.c  language-private.h ../cups/transcode.h
 getifaddrs.64.o: getifaddrs.c  http-private.h ../config.h ../cups/http.h md5-private.h
 getifaddrs.64.o: getifaddrs.c  ipp-private.h ../cups/ipp.h
-getputfile.64.o: getputfile.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-getputfile.64.o: getputfile.c  array.h file.h language.h string-private.h ../config.h
-getputfile.64.o: getputfile.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-getputfile.64.o: getputfile.c  ipp-private.h ../cups/ipp.h language-private.h
-getputfile.64.o: getputfile.c  ../cups/transcode.h pwg-private.h
-globals.64.o: globals.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-globals.64.o: globals.c  array.h file.h language.h string-private.h ../config.h
-globals.64.o: globals.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-globals.64.o: globals.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-globals.64.o: globals.c  pwg-private.h
-http.64.o: http.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-http.64.o: http.c  file.h language.h string-private.h ../config.h debug-private.h
-http.64.o: http.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-http.64.o: http.c  ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
-http-addr.64.o: http-addr.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-http-addr.64.o: http-addr.c  array.h file.h language.h string-private.h ../config.h
-http-addr.64.o: http-addr.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-http-addr.64.o: http-addr.c  ipp-private.h ../cups/ipp.h language-private.h
-http-addr.64.o: http-addr.c  ../cups/transcode.h pwg-private.h
-http-addrlist.64.o: http-addrlist.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h
-http-addrlist.64.o: http-addrlist.c  ppd.h array.h file.h language.h string-private.h ../config.h
-http-addrlist.64.o: http-addrlist.c  debug-private.h http-private.h ../cups/http.h md5-private.h
+getputfile.64.o: getputfile.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+getputfile.64.o: getputfile.c  language.h array.h string-private.h ../config.h debug-private.h
+getputfile.64.o: getputfile.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+getputfile.64.o: getputfile.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+getputfile.64.o: getputfile.c  language-private.h ../cups/transcode.h
+globals.64.o: globals.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+globals.64.o: globals.c  language.h array.h string-private.h ../config.h debug-private.h
+globals.64.o: globals.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+globals.64.o: globals.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+globals.64.o: globals.c  language-private.h ../cups/transcode.h
+http.64.o: http.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+http.64.o: http.c  language.h array.h string-private.h ../config.h debug-private.h
+http.64.o: http.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+http.64.o: http.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+http.64.o: http.c  language-private.h ../cups/transcode.h
+http-addr.64.o: http-addr.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+http-addr.64.o: http-addr.c  language.h array.h string-private.h ../config.h debug-private.h
+http-addr.64.o: http-addr.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+http-addr.64.o: http-addr.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+http-addr.64.o: http-addr.c  language-private.h ../cups/transcode.h
+http-addrlist.64.o: http-addrlist.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h
+http-addrlist.64.o: http-addrlist.c  http.h language.h array.h string-private.h ../config.h
+http-addrlist.64.o: http-addrlist.c  debug-private.h ppd-private.h ../cups/ppd.h cups.h
+http-addrlist.64.o: http-addrlist.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
 http-addrlist.64.o: http-addrlist.c  ipp-private.h ../cups/ipp.h language-private.h
-http-addrlist.64.o: http-addrlist.c  ../cups/transcode.h pwg-private.h
-http-support.64.o: http-support.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-http-support.64.o: http-support.c  array.h file.h language.h string-private.h ../config.h
-http-support.64.o: http-support.c  debug-private.h http-private.h ../cups/http.h md5-private.h
+http-addrlist.64.o: http-addrlist.c  ../cups/transcode.h
+http-support.64.o: http-support.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h
+http-support.64.o: http-support.c  http.h language.h array.h string-private.h ../config.h
+http-support.64.o: http-support.c  debug-private.h ppd-private.h ../cups/ppd.h cups.h
+http-support.64.o: http-support.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
 http-support.64.o: http-support.c  ipp-private.h ../cups/ipp.h language-private.h
-http-support.64.o: http-support.c  ../cups/transcode.h pwg-private.h
-ipp.64.o: ipp.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-ipp.64.o: ipp.c  file.h language.h string-private.h ../config.h debug-private.h
-ipp.64.o: ipp.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-ipp.64.o: ipp.c  ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
-ipp-support.64.o: ipp-support.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-ipp-support.64.o: ipp-support.c  array.h file.h language.h string-private.h ../config.h
-ipp-support.64.o: ipp-support.c  debug-private.h http-private.h ../cups/http.h md5-private.h
+http-support.64.o: http-support.c  ../cups/transcode.h
+ipp.64.o: ipp.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+ipp.64.o: ipp.c  language.h array.h string-private.h ../config.h debug-private.h
+ipp.64.o: ipp.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+ipp.64.o: ipp.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+ipp.64.o: ipp.c  language-private.h ../cups/transcode.h
+ipp-support.64.o: ipp-support.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+ipp-support.64.o: ipp-support.c  language.h array.h string-private.h ../config.h
+ipp-support.64.o: ipp-support.c  debug-private.h ppd-private.h ../cups/ppd.h cups.h
+ipp-support.64.o: ipp-support.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
 ipp-support.64.o: ipp-support.c  ipp-private.h ../cups/ipp.h language-private.h
-ipp-support.64.o: ipp-support.c  ../cups/transcode.h pwg-private.h
-langprintf.64.o: langprintf.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-langprintf.64.o: langprintf.c  array.h file.h language.h string-private.h ../config.h
-langprintf.64.o: langprintf.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-langprintf.64.o: langprintf.c  ipp-private.h ../cups/ipp.h language-private.h
-langprintf.64.o: langprintf.c  ../cups/transcode.h pwg-private.h
-language.64.o: language.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-language.64.o: language.c  array.h file.h language.h string-private.h ../config.h
-language.64.o: language.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-language.64.o: language.c  ipp-private.h ../cups/ipp.h language-private.h
-language.64.o: language.c  ../cups/transcode.h pwg-private.h
-localize.64.o: localize.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-localize.64.o: localize.c  array.h file.h language.h string-private.h ../config.h
-localize.64.o: localize.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-localize.64.o: localize.c  ipp-private.h ../cups/ipp.h language-private.h
-localize.64.o: localize.c  ../cups/transcode.h pwg-private.h ppd-private.h
-mark.64.o: mark.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-mark.64.o: mark.c  file.h language.h string-private.h ../config.h debug-private.h
-mark.64.o: mark.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-mark.64.o: mark.c  ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
+ipp-support.64.o: ipp-support.c  ../cups/transcode.h
+langprintf.64.o: langprintf.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+langprintf.64.o: langprintf.c  language.h array.h string-private.h ../config.h debug-private.h
+langprintf.64.o: langprintf.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+langprintf.64.o: langprintf.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+langprintf.64.o: langprintf.c  language-private.h ../cups/transcode.h
+language.64.o: language.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+language.64.o: language.c  language.h array.h string-private.h ../config.h debug-private.h
+language.64.o: language.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+language.64.o: language.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+language.64.o: language.c  language-private.h ../cups/transcode.h
+localize.64.o: localize.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+localize.64.o: localize.c  language.h array.h string-private.h ../config.h debug-private.h
+localize.64.o: localize.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+localize.64.o: localize.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+localize.64.o: localize.c  language-private.h ../cups/transcode.h
+mark.64.o: mark.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+mark.64.o: mark.c  language.h array.h string-private.h ../config.h debug-private.h
+mark.64.o: mark.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+mark.64.o: mark.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+mark.64.o: mark.c  language-private.h ../cups/transcode.h
 md5.64.o: md5.c  md5-private.h string-private.h ../config.h
 md5passwd.64.o: md5passwd.c  http-private.h ../config.h ../cups/http.h md5-private.h
 md5passwd.64.o: md5passwd.c  ipp-private.h ../cups/ipp.h string-private.h
-notify.64.o: notify.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-notify.64.o: notify.c  array.h file.h language.h string-private.h ../config.h
-notify.64.o: notify.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-notify.64.o: notify.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-notify.64.o: notify.c  pwg-private.h
+notify.64.o: notify.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+notify.64.o: notify.c  language.h array.h string-private.h ../config.h debug-private.h
+notify.64.o: notify.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+notify.64.o: notify.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+notify.64.o: notify.c  language-private.h ../cups/transcode.h
 options.64.o: options.c  cups.h string-private.h ../config.h debug-private.h
-page.64.o: page.c  string-private.h ../config.h debug-private.h ppd.h array.h
+page.64.o: page.c  string-private.h ../config.h debug-private.h ppd.h cups.h array.h
 page.64.o: page.c  versioning.h file.h
-ppd.64.o: ppd.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-ppd.64.o: ppd.c  file.h language.h string-private.h ../config.h debug-private.h
-ppd.64.o: ppd.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-ppd.64.o: ppd.c  ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
-ppd.64.o: ppd.c  ppd-private.h
-pwg-file.64.o: pwg-file.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-pwg-file.64.o: pwg-file.c  array.h file.h language.h string-private.h ../config.h
-pwg-file.64.o: pwg-file.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-pwg-file.64.o: pwg-file.c  ipp-private.h ../cups/ipp.h language-private.h
-pwg-file.64.o: pwg-file.c  ../cups/transcode.h pwg-private.h
-pwg-media.64.o: pwg-media.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-pwg-media.64.o: pwg-media.c  array.h file.h language.h string-private.h ../config.h
-pwg-media.64.o: pwg-media.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-pwg-media.64.o: pwg-media.c  ipp-private.h ../cups/ipp.h language-private.h
-pwg-media.64.o: pwg-media.c  ../cups/transcode.h pwg-private.h
-pwg-ppd.64.o: pwg-ppd.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-pwg-ppd.64.o: pwg-ppd.c  array.h file.h language.h string-private.h ../config.h
-pwg-ppd.64.o: pwg-ppd.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-pwg-ppd.64.o: pwg-ppd.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-pwg-ppd.64.o: pwg-ppd.c  pwg-private.h
-request.64.o: request.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-request.64.o: request.c  array.h file.h language.h string-private.h ../config.h
-request.64.o: request.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-request.64.o: request.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-request.64.o: request.c  pwg-private.h
+ppd.64.o: ppd.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+ppd.64.o: ppd.c  language.h array.h string-private.h ../config.h debug-private.h
+ppd.64.o: ppd.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+ppd.64.o: ppd.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+ppd.64.o: ppd.c  language-private.h ../cups/transcode.h
+pwg-file.64.o: pwg-file.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+pwg-file.64.o: pwg-file.c  language.h array.h string-private.h ../config.h debug-private.h
+pwg-file.64.o: pwg-file.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+pwg-file.64.o: pwg-file.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+pwg-file.64.o: pwg-file.c  language-private.h ../cups/transcode.h
+pwg-media.64.o: pwg-media.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+pwg-media.64.o: pwg-media.c  language.h array.h string-private.h ../config.h debug-private.h
+pwg-media.64.o: pwg-media.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+pwg-media.64.o: pwg-media.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+pwg-media.64.o: pwg-media.c  language-private.h ../cups/transcode.h
+pwg-ppd.64.o: pwg-ppd.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+pwg-ppd.64.o: pwg-ppd.c  language.h array.h string-private.h ../config.h debug-private.h
+pwg-ppd.64.o: pwg-ppd.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+pwg-ppd.64.o: pwg-ppd.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+pwg-ppd.64.o: pwg-ppd.c  language-private.h ../cups/transcode.h
+request.64.o: request.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+request.64.o: request.c  language.h array.h string-private.h ../config.h debug-private.h
+request.64.o: request.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+request.64.o: request.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+request.64.o: request.c  language-private.h ../cups/transcode.h
 sidechannel.64.o: sidechannel.c  sidechannel.h versioning.h string-private.h ../config.h
 sidechannel.64.o: sidechannel.c  debug-private.h
-snmp.64.o: snmp.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-snmp.64.o: snmp.c  file.h language.h string-private.h ../config.h debug-private.h
-snmp.64.o: snmp.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-snmp.64.o: snmp.c  ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
-snmp.64.o: snmp.c  snmp-private.h
+snmp.64.o: snmp.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+snmp.64.o: snmp.c  language.h array.h string-private.h ../config.h debug-private.h
+snmp.64.o: snmp.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+snmp.64.o: snmp.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+snmp.64.o: snmp.c  language-private.h ../cups/transcode.h snmp-private.h
 snprintf.64.o: snprintf.c  string-private.h ../config.h
 string.64.o: string.c  string-private.h ../config.h debug-private.h array.h versioning.h
-tempfile.64.o: tempfile.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-tempfile.64.o: tempfile.c  array.h file.h language.h string-private.h ../config.h
-tempfile.64.o: tempfile.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-tempfile.64.o: tempfile.c  ipp-private.h ../cups/ipp.h language-private.h
-tempfile.64.o: tempfile.c  ../cups/transcode.h pwg-private.h
-transcode.64.o: transcode.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-transcode.64.o: transcode.c  array.h file.h language.h string-private.h ../config.h
-transcode.64.o: transcode.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-transcode.64.o: transcode.c  ipp-private.h ../cups/ipp.h language-private.h
-transcode.64.o: transcode.c  ../cups/transcode.h pwg-private.h
-usersys.64.o: usersys.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-usersys.64.o: usersys.c  array.h file.h language.h string-private.h ../config.h
-usersys.64.o: usersys.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-usersys.64.o: usersys.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-usersys.64.o: usersys.c  pwg-private.h
-util.64.o: util.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h array.h
-util.64.o: util.c  file.h language.h string-private.h ../config.h debug-private.h
-util.64.o: util.c  http-private.h ../cups/http.h md5-private.h ipp-private.h
-util.64.o: util.c  ../cups/ipp.h language-private.h ../cups/transcode.h pwg-private.h
+tempfile.64.o: tempfile.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+tempfile.64.o: tempfile.c  language.h array.h string-private.h ../config.h debug-private.h
+tempfile.64.o: tempfile.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+tempfile.64.o: tempfile.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+tempfile.64.o: tempfile.c  language-private.h ../cups/transcode.h
+transcode.64.o: transcode.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+transcode.64.o: transcode.c  language.h array.h string-private.h ../config.h debug-private.h
+transcode.64.o: transcode.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+transcode.64.o: transcode.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+transcode.64.o: transcode.c  language-private.h ../cups/transcode.h
+usersys.64.o: usersys.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+usersys.64.o: usersys.c  language.h array.h string-private.h ../config.h debug-private.h
+usersys.64.o: usersys.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+usersys.64.o: usersys.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+usersys.64.o: usersys.c  language-private.h ../cups/transcode.h
+util.64.o: util.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+util.64.o: util.c  language.h array.h string-private.h ../config.h debug-private.h
+util.64.o: util.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+util.64.o: util.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+util.64.o: util.c  language-private.h ../cups/transcode.h
 testadmin.64.o: testadmin.c  adminutil.h cups.h string-private.h ../config.h
 testarray.64.o: testarray.c  string-private.h ../config.h debug-private.h array.h
 testarray.64.o: testarray.c  versioning.h dir.h
-testconflicts.64.o: testconflicts.c  cups.h string-private.h ../config.h
-testcups.64.o: testcups.c  string-private.h ../config.h cups.h
+testconflicts.64.o: testconflicts.c  cups.h ppd.h array.h versioning.h file.h string-private.h
+testconflicts.64.o: testconflicts.c  ../config.h
+testcups.64.o: testcups.c  string-private.h ../config.h cups.h ppd.h array.h versioning.h
+testcups.64.o: testcups.c  file.h
 testfile.64.o: testfile.c  string-private.h ../config.h debug-private.h file.h versioning.h
 testhttp.64.o: testhttp.c  string-private.h ../config.h http-private.h ../cups/http.h
 testhttp.64.o: testhttp.c  md5-private.h ipp-private.h ../cups/ipp.h
@@ -633,25 +671,26 @@ testi18n.64.o: testi18n.c  string-private.h ../config.h language-private.h
 testi18n.64.o: testi18n.c  ../cups/transcode.h language.h array.h versioning.h
 testipp.64.o: testipp.c  ../cups/file.h versioning.h string-private.h ../config.h
 testipp.64.o: testipp.c  ipp-private.h ../cups/ipp.h
-testoptions.64.o: testoptions.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-testoptions.64.o: testoptions.c  array.h file.h language.h string-private.h ../config.h
-testoptions.64.o: testoptions.c  debug-private.h http-private.h ../cups/http.h md5-private.h
+testoptions.64.o: testoptions.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+testoptions.64.o: testoptions.c  language.h array.h string-private.h ../config.h
+testoptions.64.o: testoptions.c  debug-private.h ppd-private.h ../cups/ppd.h cups.h
+testoptions.64.o: testoptions.c  pwg-private.h http-private.h ../cups/http.h md5-private.h
 testoptions.64.o: testoptions.c  ipp-private.h ../cups/ipp.h language-private.h
-testoptions.64.o: testoptions.c  ../cups/transcode.h pwg-private.h
-testlang.64.o: testlang.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-testlang.64.o: testlang.c  array.h file.h language.h string-private.h ../config.h
-testlang.64.o: testlang.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-testlang.64.o: testlang.c  ipp-private.h ../cups/ipp.h language-private.h
-testlang.64.o: testlang.c  ../cups/transcode.h pwg-private.h
-testppd.64.o: testppd.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-testppd.64.o: testppd.c  array.h file.h language.h string-private.h ../config.h
-testppd.64.o: testppd.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-testppd.64.o: testppd.c  ipp-private.h ../cups/ipp.h language-private.h ../cups/transcode.h
-testppd.64.o: testppd.c  pwg-private.h
-testpwg.64.o: testpwg.c  pwg-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-testpwg.64.o: testpwg.c  array.h file.h language.h
-testsnmp.64.o: testsnmp.c  cups-private.h ../cups/cups.h ipp.h http.h versioning.h ppd.h
-testsnmp.64.o: testsnmp.c  array.h file.h language.h string-private.h ../config.h
-testsnmp.64.o: testsnmp.c  debug-private.h http-private.h ../cups/http.h md5-private.h
-testsnmp.64.o: testsnmp.c  ipp-private.h ../cups/ipp.h language-private.h
-testsnmp.64.o: testsnmp.c  ../cups/transcode.h pwg-private.h snmp-private.h
+testoptions.64.o: testoptions.c  ../cups/transcode.h
+testlang.64.o: testlang.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+testlang.64.o: testlang.c  language.h array.h string-private.h ../config.h debug-private.h
+testlang.64.o: testlang.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+testlang.64.o: testlang.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+testlang.64.o: testlang.c  language-private.h ../cups/transcode.h
+testppd.64.o: testppd.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+testppd.64.o: testppd.c  language.h array.h string-private.h ../config.h debug-private.h
+testppd.64.o: testppd.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+testppd.64.o: testppd.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+testppd.64.o: testppd.c  language-private.h ../cups/transcode.h
+testpwg.64.o: testpwg.c  ppd-private.h ../cups/ppd.h cups.h array.h versioning.h file.h
+testpwg.64.o: testpwg.c  pwg-private.h ../cups/cups.h ipp.h http.h language.h
+testsnmp.64.o: testsnmp.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
+testsnmp.64.o: testsnmp.c  language.h array.h string-private.h ../config.h debug-private.h
+testsnmp.64.o: testsnmp.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
+testsnmp.64.o: testsnmp.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
+testsnmp.64.o: testsnmp.c  language-private.h ../cups/transcode.h snmp-private.h
index 45b497049f226dfbb82b11bfabec514781de8976..f056916779c41026a564870f8a59537ea92bd4b3 100644 (file)
@@ -22,6 +22,7 @@
  * Include necessary headers...
  */
 
+#  include <stdio.h>
 #  include "cups.h"
 
 
index 5fa1a242c0c1133cf3c076bf638d021722c67ea7..0a0e9e2bc91155e12fc7d059fad163cccd947327 100644 (file)
@@ -25,6 +25,7 @@
 #  include <cups/cups.h>
 #  include "string-private.h"
 #  include "debug-private.h"
+#  include "ppd-private.h"
 #  include "http-private.h"
 #  include "ipp-private.h"
 #  include "language-private.h"
index c460e8f894967d616a2598c4f0cd62b61940bc70..2a256c2e4b300f057a344431640b21f97d3359d8 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: cups.h 8781 2009-08-28 17:34:54Z mike $"
  *
- *   API definitions for the Common UNIX Printing System (CUPS).
+ *   API definitions for CUPS.
  *
- *   Copyright 2007-2009 by Apple Inc.
+ *   Copyright 2007-2010 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -29,8 +29,8 @@
 typedef off_t ssize_t;                 /* @private@ */
 #  endif /* WIN32 && !__CUPS_SSIZE_T_DEFINED */
 
+#  include "file.h"
 #  include "ipp.h"
-#  include "ppd.h"
 #  include "language.h"
 
 
@@ -212,8 +212,6 @@ extern void         cupsEncodeOptions(ipp_t *ipp, int num_options,
 extern void            cupsFreeOptions(int num_options, cups_option_t *options);
 extern const char      *cupsGetOption(const char *name, int num_options,
                                       cups_option_t *options);
-extern int             cupsMarkOptions(ppd_file_t *ppd, int num_options,
-                                       cups_option_t *options);
 extern int             cupsParseOptions(const char *arg, int num_options,
                                         cups_option_t **options);
 
@@ -289,10 +287,6 @@ extern int         cupsCreateJob(http_t *http, const char *name,
                                      cups_option_t *options) _CUPS_API_1_4;
 extern ipp_status_t    cupsFinishDocument(http_t *http,
                                           const char *name) _CUPS_API_1_4;
-extern int             cupsGetConflicts(ppd_file_t *ppd, const char *option,
-                                        const char *choice,
-                                        cups_option_t **options)
-                                            _CUPS_API_1_4;
 extern ipp_status_t    cupsGetDevices(http_t *http, int timeout,
                                       const char *include_schemes,
                                       const char *exclude_schemes,
@@ -310,11 +304,6 @@ extern ipp_t               *cupsGetResponse(http_t *http,
                                         const char *resource) _CUPS_API_1_4;
 extern ssize_t         cupsReadResponseData(http_t *http, char *buffer,
                                             size_t length) _CUPS_API_1_4;
-extern int             cupsResolveConflicts(ppd_file_t *ppd, const char *option,
-                                            const char *choice,
-                                            int *num_options,
-                                            cups_option_t **options)
-                                            _CUPS_API_1_4;
 extern http_status_t   cupsSendRequest(http_t *http, ipp_t *request,
                                        const char *resource,
                                        size_t length) _CUPS_API_1_4;
index 3951b1feebfa13cbfe67b5b55387b2a40452a5dc..3293c88990864eba95792948a63988ed882d9996 100644 (file)
@@ -584,7 +584,7 @@ httpFlush(http_t *http)                     /* I - Connection to server */
 
   http->blocking = blocking;
 
-  if (http->state == oldstate && http->fd >= 0)
+  if (http->state == oldstate && http->state != HTTP_WAITING && http->fd >= 0)
   {
    /*
     * Didn't get the data back, so close the current connection.
index c4945fc7ab6b4f17a93c6b5ef1b1aab8b97fcbd1..2120c086519d263169ad8290a98ecddecb4c1813 100644 (file)
@@ -66,9 +66,11 @@ typedef struct                               /**** Attribute mapping data ****/
  * Prototypes for private functions...
  */
 
-extern ipp_attribute_t *_ippAddAttr(ipp_t *, int);
+extern ipp_attribute_t *_ippAddAttr(ipp_t *ipp, int num_values);
+extern size_t          _ippAttrString(ipp_attribute_t *attr, char *buffer,
+                                      size_t bufsize);
 extern _ipp_option_t   *_ippFindOption(const char *name);
-extern void            _ippFreeAttr(ipp_attribute_t *);
+extern void            _ippFreeAttr(ipp_attribute_t *attr);
 
 
 /*
index 8e2ee8de23479e29cfe9fbb0841fafa58bbd6aa9..c549a6f8917fa9c160d4a7922a7612fcd95fda6d 100644 (file)
@@ -16,6 +16,7 @@
  *
  * Contents:
  *
+ *   _ippAttrString() - Convert the attribute's value to a string.
  *   ippErrorString() - Return a name for the given status code.
  *   ippErrorValue()  - Return a status code for the given name.
  *   ippOpString()    - Return a name for the given operation id.
@@ -24,6 +25,7 @@
  *   ippSetPort()     - Set the default port number.
  *   ippTagString()   - Return the tag name corresponding to a tag value.
  *   ippTagValue()    - Return the tag value corresponding to a tag name.
+ *   ipp_col_string() - Convert a collection to a string.
  */
 
 /*
@@ -92,26 +94,43 @@ static const char * const ipp_status_oks[] =        /* "OK" status codes */
 static char    * const ipp_std_ops[] =
                {
                  /* 0x0000 - 0x000f */
-                 "", "", "Print-Job", "Print-URI",
-                 "Validate-Job", "Create-Job", "Send-Document",
-                 "Send-URI", "Cancel-Job", "Get-Job-Attributes",
-                 "Get-Jobs", "Get-Printer-Attributes",
-                 "Hold-Job", "Release-Job", "Restart-Job", "",
+                 "unknown-00",
+                 "unknown-01",
+                 "Print-Job",
+                 "Print-URI",
+                 "Validate-Job",
+                 "Create-Job",
+                 "Send-Document",
+                 "Send-URI",
+                 "Cancel-Job",
+                 "Get-Job-Attributes",
+                 "Get-Jobs",
+                 "Get-Printer-Attributes",
+                 "Hold-Job",
+                 "Release-Job",
+                 "Restart-Job",
+                 "unknown-0f",
 
                  /* 0x0010 - 0x001f */
-                 "Pause-Printer", "Resume-Printer",
-                 "Purge-Jobs", "Set-Printer-Attributes",
+                 "Pause-Printer",
+                 "Resume-Printer",
+                 "Purge-Jobs",
+                 "Set-Printer-Attributes",
                  "Set-Job-Attributes",
                  "Get-Printer-Supported-Values",
                  "Create-Printer-Subscription",
                  "Create-Job-Subscription",
                  "Get-Subscription-Attributes",
-                 "Get-Subscriptions", "Renew-Subscription",
-                 "Cancel-Subscription", "Get-Notifications",
-                 "Send-Notifications", "", "",
+                 "Get-Subscriptions",
+                 "Renew-Subscription",
+                 "Cancel-Subscription",
+                 "Get-Notifications",
+                 "Send-Notifications",
+                 "unknown-1e",
+                 "unknown-1f",
 
                  /* 0x0020 - 0x002f */
-                 "",
+                 "unknown-20",
                  "Get-Printer-Support-Files",
                  "Enable-Printer",
                  "Disable-Printer",
@@ -128,9 +147,19 @@ static char        * const ipp_std_ops[] =
                  "Suspend-Current-Job",
                  "Resume-Job",
 
-                 /* 0x0030 - 0x0031 */
+                 /* 0x0030 - 0x003b */
                  "Promote-Job",
-                 "Schedule-Job-After"
+                 "Schedule-Job-After",
+                 "unknown-32",
+                 "Cancel-Document",
+                 "Get-Document-Attributes",
+                 "Get-Documents",
+                 "Delete-Document",
+                 "Set-Document-Attributes",
+                 "Cancel-Jobs",
+                 "Cancel-My-Jobs",
+                 "Resubmit-Job",
+                 "Close-Job"
                },
                * const ipp_cups_ops[] =
                {
@@ -238,6 +267,244 @@ static char       * const ipp_std_ops[] =
                  "mimeMediaType",      /* 0x49 */
                  "memberAttrName"      /* 0x4a */
                };
+static const char * const job_states[] =
+{                                      /* job-state enums */
+  "pending",
+  "pending-held",
+  "processing",
+  "processing-stopped"
+  "canceled",
+  "aborted",
+  "completed"
+};
+static const char * const printer_states[] =
+{                                      /* printer-state enums */
+  "idle",
+  "processing",
+  "stopped",
+};
+
+
+/*
+ * Local functions...
+ */
+
+static size_t  ipp_col_string(ipp_t *col, char *buffer, size_t bufsize);
+
+
+/*
+ * '_ippAttrString()' - Convert the attribute's value to a string.
+ *
+ * Returns the number of bytes that would be written, not including the
+ * trailing nul. The buffer pointer can be NULL to get the required length,
+ * just like (v)snprintf.
+ */
+
+size_t                                 /* O - Number of bytes less nul */
+_ippAttrString(ipp_attribute_t *attr,  /* I - Attribute */
+               char            *buffer,        /* I - String buffer or NULL */
+               size_t          bufsize)        /* I - Size of string buffer */
+{
+  int          i;                      /* Looping var */
+  char         *bufptr,                /* Pointer into buffer */
+               *bufend,                /* End of buffer */
+               temp[256];              /* Temporary string */
+  const char   *ptr;                   /* Pointer into string */
+  ipp_value_t  *val;                   /* Current value */
+
+
+  if (!attr || !attr->name)
+  {
+    if (buffer)
+      *buffer = '\0';
+
+    return (0);
+  }
+
+  bufptr = buffer;
+  if (buffer)
+    bufend = buffer + bufsize - 1;
+  else
+    bufend = NULL;
+
+  for (i = attr->num_values, val = attr->values; i > 0; i --, val ++)
+  {
+    if (val > attr->values)
+    {
+      if (bufptr < bufend)
+        *bufptr++ = ',';
+      else
+        bufptr ++;
+    }
+
+    switch (attr->value_tag)
+    {
+      case IPP_TAG_ENUM :
+          if (!strcmp(attr->name, "printer-state") &&
+              val->integer >= IPP_PRINTER_IDLE &&
+              val->integer <= IPP_PRINTER_STOPPED)
+          {
+            ptr = printer_states[val->integer - IPP_PRINTER_IDLE];
+
+            if (bufptr < bufend)
+              strlcpy(bufptr, ptr, bufend - bufptr + 1);
+
+            bufptr += strlen(ptr);
+            break;
+          }
+          else if (!strcmp(attr->name, "job-state") &&
+                  val->integer >= IPP_JOB_PENDING &&
+                  val->integer <= IPP_JOB_COMPLETED)
+          {
+            ptr = job_states[val->integer - IPP_JOB_PENDING];
+
+            if (bufptr < bufend)
+              strlcpy(bufptr, ptr, bufend - bufptr + 1);
+
+            bufptr += strlen(ptr);
+            break;
+          }
+
+      case IPP_TAG_INTEGER :
+          if (bufptr < bufend)
+            bufptr += snprintf(bufptr, bufend - bufptr + 1, "%d", val->integer);
+          else
+            bufptr += snprintf(temp, sizeof(temp), "%d", val->integer);
+          break;
+
+      case IPP_TAG_BOOLEAN :
+          if (bufptr < bufend)
+            strlcpy(bufptr, val->boolean ? "true" : "false",
+                    bufend - bufptr + 1);
+
+          bufptr += val->boolean ? 4 : 5;
+          break;
+
+      case IPP_TAG_RANGE :
+          if (bufptr < bufend)
+            bufptr += snprintf(bufptr, bufend - bufptr + 1, "%d-%d",
+                               val->range.lower, val->range.upper);
+          else
+            bufptr += snprintf(temp, sizeof(temp), "%d-%d", val->range.lower,
+                               val->range.upper);
+          break;
+
+      case IPP_TAG_RESOLUTION :
+          if (bufptr < bufend)
+            bufptr += snprintf(bufptr, bufend - bufptr + 1, "%dx%d%s",
+                               val->resolution.xres, val->resolution.yres,
+                               val->resolution.units == IPP_RES_PER_INCH ?
+                                   "dpi" : "dpc");
+          else
+            bufptr += snprintf(temp, sizeof(temp), "%dx%d%s",
+                               val->resolution.xres, val->resolution.yres,
+                               val->resolution.units == IPP_RES_PER_INCH ?
+                                   "dpi" : "dpc");
+          break;
+
+      case IPP_TAG_DATE :
+          {
+            unsigned year;             /* Year */
+
+            year = (val->date[0] << 8) + val->date[1];
+
+           if (val->date[9] == 0 && val->date[10] == 0)
+             snprintf(temp, sizeof(temp), "%04u-%02u-%02uT%02u:%02u:%02uZ",
+                      year, val->date[2], val->date[3], val->date[4],
+                      val->date[5], val->date[6]);
+           else
+             snprintf(temp, sizeof(temp),
+                      "%04u-%02u-%02uT%02u:%02u:%02u%c%02u%02u",
+                      year, val->date[2], val->date[3], val->date[4],
+                      val->date[5], val->date[6], val->date[8], val->date[9],
+                      val->date[10]);
+
+            if (bufptr < bufend)
+              strlcpy(bufptr, temp, bufend - bufptr + 1);
+
+            bufptr += strlen(temp);
+          }
+          break;
+
+      case IPP_TAG_TEXT :
+      case IPP_TAG_NAME :
+      case IPP_TAG_KEYWORD :
+      case IPP_TAG_CHARSET :
+      case IPP_TAG_URI :
+      case IPP_TAG_MIMETYPE :
+      case IPP_TAG_LANGUAGE :
+      case IPP_TAG_TEXTLANG :
+      case IPP_TAG_NAMELANG :
+          for (ptr = val->string.text; *ptr; ptr ++)
+          {
+            if (*ptr == '\\' || *ptr == '\"')
+            {
+              if (bufptr < bufend)
+                *bufptr = '\\';
+              bufptr ++;
+            }
+
+            if (bufptr < bufend)
+              *bufptr = *ptr;
+            bufptr ++;
+          }
+          break;
+
+      case IPP_TAG_BEGIN_COLLECTION :
+          if (bufptr < bufend)
+            bufptr += ipp_col_string(val->collection, bufptr,
+                                     bufend - bufptr + 1);
+          else
+            bufptr += ipp_col_string(val->collection, NULL, 0);
+          break;
+
+      case IPP_TAG_STRING :
+          for (ptr = val->string.text; *ptr; ptr ++)
+          {
+            if (*ptr == '\\' || isspace(*ptr & 255))
+            {
+              if (bufptr < bufend)
+                *bufptr = '\\';
+              bufptr ++;
+
+              if (bufptr < bufend)
+                *bufptr = *ptr;
+              bufptr ++;
+            }
+            else if (!isprint(*ptr & 255))
+            {
+              if (bufptr < bufend)
+                bufptr += snprintf(bufptr, bufend - bufptr + 1, "\\%03o",
+                                   *ptr & 255);
+              else
+                bufptr += snprintf(temp, sizeof(temp), "\\%03o",
+                                   *ptr & 255);
+            }
+            else
+            {
+              if (bufptr < bufend)
+                *bufptr = *ptr;
+              bufptr ++;
+            }
+          }
+          break;
+
+      default :
+          ptr = ippTagString(attr->value_tag);
+          if (bufptr < bufend)
+            strlcpy(bufptr, ptr, bufend - bufptr + 1);
+          bufptr += strlen(ptr);
+          break;
+    }
+  }
+
+  if (bufptr < bufend)
+    *bufptr = '\0';
+  else if (bufend)
+    *bufend = '\0';
+
+  return (bufptr - buffer);
+}
 
 
 /*
@@ -325,7 +592,7 @@ ippOpString(ipp_op_t op)            /* I - Operation ID */
   * See if the operation ID is a known value...
   */
 
-  if (op >= IPP_PRINT_JOB && op <= IPP_SCHEDULE_JOB_AFTER)
+  if (op >= IPP_PRINT_JOB && op <= IPP_CLOSE_JOB)
     return (ipp_std_ops[op]);
   else if (op == IPP_PRIVATE)
     return ("windows-ext");
index cd4014336a5aba64eab0451a5657fa991106fe0e..3e90b8b4d23d221c47558ba502c424b895858e8e 100644 (file)
@@ -181,6 +181,8 @@ ippAddCollection(ipp_t      *ipp,   /* I - IPP message */
   attr->value_tag            = IPP_TAG_BEGIN_COLLECTION;
   attr->values[0].collection = value;
 
+  value->use ++;
+
   return (attr);
 }
 
@@ -219,10 +221,15 @@ ippAddCollections(
   attr->value_tag = IPP_TAG_BEGIN_COLLECTION;
 
   if (values != NULL)
+  {
     for (i = 0, value = attr->values;
         i < num_values;
         i ++, value ++)
+    {
       value->collection = (ipp_t *)values[i];
+      value->collection->use ++;
+    }
+  }
 
   return (attr);
 }
@@ -794,6 +801,10 @@ ippDelete(ipp_t *ipp)                      /* I - IPP message */
   if (!ipp)
     return;
 
+  ipp->use --;
+  if (ipp->use > 0)
+    return;
+
   for (attr = ipp->attrs; attr != NULL; attr = next)
   {
     next = attr->next;
@@ -968,6 +979,7 @@ ippNew(void)
 
     temp->request.any.version[0] = 1;
     temp->request.any.version[1] = 1;
+    temp->use                    = 1;
   }
 
   DEBUG_printf(("1ippNew: Returning %p", temp));
@@ -3009,7 +3021,7 @@ ipp_read_http(http_t      *http,  /* I - Client connection */
   int          tbytes,                 /* Total bytes read */
                bytes;                  /* Bytes read this pass */
   char         len[32];                /* Length string */
-  
+
 
   DEBUG_printf(("7ipp_read_http(http=%p, buffer=%p, length=%d)",
                 http, buffer, (int)length));
index ae8d9998878c4e13f98c7f767a9723abcb87ccb3..12126e260e53ae94e99a760104a75fbfa95cf18f 100644 (file)
@@ -231,6 +231,15 @@ typedef enum ipp_op_e                      /**** IPP operations ****/
   IPP_RESUME_JOB,                      /* Resume the current job @private@ */
   IPP_PROMOTE_JOB,                     /* Promote a job to print sooner @private@ */
   IPP_SCHEDULE_JOB_AFTER,              /* Schedule a job to print after another @private@ */
+  IPP_CANCEL_DOCUMENT = 0x0033,                /* Cancel-Document @private@ */
+  IPP_GET_DOCUMENT_ATTRIBUTES,         /* Get-Document-Attributes @private@ */
+  IPP_GET_DOCUMENTS,                   /* Get-Documents @private@ */
+  IPP_DELETE_DOCUMENT,                 /* Delete-Document @private@ */
+  IPP_SET_DOCUMENT_ATTRIBUTES,         /* Set-Document-Attributes @private@ */
+  IPP_CANCEL_JOBS,                     /* Cancel-Jobs */
+  IPP_CANCEL_MY_JOBS,                  /* Cancel-My-Jobs */
+  IPP_RESUBMIT_JOB,                    /* Resubmit-Job */
+  IPP_CLOSE_JOB,                       /* Close-Job */
   IPP_PRIVATE = 0x4000,                        /* Reserved @private@ */
   CUPS_GET_DEFAULT,                    /* Get the default printer */
   CUPS_GET_PRINTERS,                   /* Get a list of printers and/or classes */
@@ -404,6 +413,9 @@ struct ipp_s                                /**** IPP Request/Response/Notification ****/
 
 /**** New in CUPS 1.2 ****/
   ipp_attribute_t *prev;               /* Previous attribute (for read) @since CUPS 1.2/Mac OS X 10.5@ */
+
+/**** New in CUPS 1.5 ****/
+  int          use;                    /* Use count */
 };
 
 
index 9966931058845a3cb5938f6a06d969eeade10eda..f7ade94072df0e124a7f71c6be5871d2349c6f42 100644 (file)
@@ -31,7 +31,8 @@
  * Include necessary headers...
  */
 
-#  include <cups/cups.h>
+#  include <cups/ppd.h>
+#  include "pwg-private.h"
 
 
 /*
@@ -78,6 +79,23 @@ extern char          *_ppdNormalizeMakeAndModel(const char *make_and_model,
                                                   size_t bufsize);
 extern int             _ppdParseOptions(const char *s, int num_options,
                                         cups_option_t **options);
+extern _pwg_t          *_pwgCreateWithPPD(ppd_file_t *ppd);
+extern const char      *_pwgGetInputSlot(_pwg_t *pwg, ipp_t *job,
+                                         const char *keyword);
+extern const char      *_pwgGetMediaType(_pwg_t *pwg, ipp_t *job,
+                                         const char *keyword);
+extern const char      *_pwgGetPageSize(_pwg_t *pwg, ipp_t *job,
+                                        const char *keyword, int *exact);
+extern _pwg_size_t     *_pwgGetSize(_pwg_t *pwg, const char *page_size);
+extern const char      *_pwgGetSource(_pwg_t *pwg, const char *input_slot);
+extern const char      *_pwgGetType(_pwg_t *pwg, const char *media_type);
+extern const char      *_pwgInputSlotForSource(const char *media_source,
+                                               char *name, size_t namesize);
+extern _pwg_media_t    *_pwgMediaForPPD(const char *ppd);
+extern const char      *_pwgMediaTypeForType(const char *media_source,
+                                             char *name, size_t namesize);
+extern const char      *_pwgPageSizeForMedia(_pwg_media_t *media,
+                                             char *name, size_t namesize);
 
 
 /*
index dfda690dc476623b1c9ea99fdf12bb427c2a7fd0..a84bcadcc9c7218107577f0cfc221093de513ab0 100644 (file)
@@ -32,6 +32,7 @@
  */
 
 #  include <stdio.h>
+#  include "cups.h"
 #  include "array.h"
 #  include "file.h"
 
@@ -343,6 +344,8 @@ typedef struct ppd_file_s           /**** PPD File ****/
  * Prototypes...
  */
 
+extern int             cupsMarkOptions(ppd_file_t *ppd, int num_options,
+                                       cups_option_t *options);
 extern void            ppdClose(ppd_file_t *ppd);
 extern int             ppdCollect(ppd_file_t *ppd, ppd_section_t section,
                                   ppd_choice_t  ***choices);
@@ -399,19 +402,29 @@ extern ppd_option_t       *ppdNextOption(ppd_file_t *ppd) _CUPS_API_1_2;
 extern int             ppdLocalize(ppd_file_t *ppd) _CUPS_API_1_2;
 extern ppd_file_t      *ppdOpen2(cups_file_t *fp) _CUPS_API_1_2;
 
-/**** New in CUPS 1.3 ****/
+/**** New in CUPS 1.3/Mac OS X 10.5 ****/
 extern const char      *ppdLocalizeIPPReason(ppd_file_t *ppd,
                                              const char *reason,
                                              const char *scheme,
                                              char *buffer,
                                              size_t bufsize) _CUPS_API_1_3;
 
-/**** New in CUPS 1.4 ****/
+/**** New in CUPS 1.4/Mac OS X 10.6 ****/
+extern int             cupsGetConflicts(ppd_file_t *ppd, const char *option,
+                                        const char *choice,
+                                        cups_option_t **options)
+                                            _CUPS_API_1_4;
+extern int             cupsResolveConflicts(ppd_file_t *ppd, const char *option,
+                                            const char *choice,
+                                            int *num_options,
+                                            cups_option_t **options)
+                                            _CUPS_API_1_4;
 extern int             ppdInstallableConflict(ppd_file_t *ppd,
                                               const char *option,
-                                              const char *choice);
+                                              const char *choice)
+                                                  _CUPS_API_1_4;
 extern ppd_attr_t      *ppdLocalizeAttr(ppd_file_t *ppd, const char *keyword,
-                                        const char *spec);
+                                        const char *spec) _CUPS_API_1_4;
 extern const char      *ppdLocalizeMarkerName(ppd_file_t *ppd,
                                               const char *name) _CUPS_API_1_4;
 extern int             ppdPageSizeLimits(ppd_file_t *ppd,
index a41c4cbf112473a4d72c81477e8b75d1cbf6be92..909c90a8e3273fe4155fe2b8846c749d3cee8a81 100644 (file)
@@ -104,7 +104,7 @@ static _pwg_media_t const cups_pwg_media[] =
   _PWG_MEDIA_IN("na_arch-b_12x18in", "arch-b", "ARCHB", 12, 18),
   _PWG_MEDIA_IN("na_12x19_12x19in", NULL, NULL, 12, 19),
   _PWG_MEDIA_IN("na_b-plus_12x19.17in", NULL, "SuperB", 12, 19.17),
-  _PWG_MEDIA_IN("na_super-b_13x19in", NULL, NULL, 13, 19),
+  _PWG_MEDIA_IN("na_super-b_13x19in", "super-b", NULL, 13, 19),
   _PWG_MEDIA_IN("na_c_17x22in", "c", "AnsiC", 17, 22),
   _PWG_MEDIA_IN("na_arch-c_18x24in", "arch-c", "ARCHC", 18, 24),
   _PWG_MEDIA_IN("na_d_22x34in", "d", "AnsiD", 22, 34),
index a0fc0837cba41d0451581bf43e8e9b56e71435a5..ca3d88fb8fc904a3d402392d24c3733e6c8051b2 100644 (file)
@@ -71,7 +71,6 @@ _pwgCreateWithPPD(ppd_file_t *ppd)    /* I - PPD file */
                ppd_name[PPD_MAX_NAME]; /* Normalized PPD name */
   const char   *pwg_name;              /* Standard PWG media name */
   _pwg_media_t *pwg_media;             /* PWG media data */
-  struct lconv *loc;                   /* Locale conversion data */
 
 
   DEBUG_printf(("_pwgCreateWithPPD(ppd=%p)", ppd));
@@ -110,8 +109,6 @@ _pwgCreateWithPPD(ppd_file_t *ppd)  /* I - PPD file */
     goto create_error;
   }
 
-  loc = localeconv();
-
   for (i = ppd->num_sizes, pwg_size = pwg->sizes, ppd_size = ppd->sizes;
        i > 0;
        i --, ppd_size ++)
@@ -233,29 +230,23 @@ _pwgCreateWithPPD(ppd_file_t *ppd)        /* I - PPD file */
           !strcasecmp(choice->choice, "Default"))
         pwg_name = "auto";
       else if (!strcasecmp(choice->choice, "Cassette"))
-        pwg_name = "main-tray";
+        pwg_name = "main";
       else if (!strncasecmp(choice->choice, "Multipurpose", 12) ||
                !strcasecmp(choice->choice, "MP") ||
                !strcasecmp(choice->choice, "MPTray"))
-        pwg_name = "alternate-tray";
+        pwg_name = "alternate";
       else if (!strcasecmp(choice->choice, "LargeCapacity"))
-        pwg_name = "large-capacity-tray";
+        pwg_name = "large-capacity";
       else if (!strncasecmp(choice->choice, "Lower", 5))
-        pwg_name = "bottom-tray";
+        pwg_name = "bottom";
       else if (!strncasecmp(choice->choice, "Middle", 6))
-        pwg_name = "middle-tray";
+        pwg_name = "middle";
       else if (!strncasecmp(choice->choice, "Upper", 5))
-        pwg_name = "top-tray";
-      else if (!strcasecmp(choice->choice, "Rear"))
-        pwg_name = "rear-feed";
+        pwg_name = "top";
       else if (!strncasecmp(choice->choice, "Side", 4))
-        pwg_name = "side-feed";
-      else if (!strcasecmp(choice->choice, "Envelope"))
-        pwg_name = "envelope-feed";
-      else if (!strcasecmp(choice->choice, "Manual"))
-        pwg_name = "manual-feed";
+        pwg_name = "side";
       else if (!strcasecmp(choice->choice, "Roll") ||
-               !strcasecmp(choice->choice, "Roll"))
+               !strcasecmp(choice->choice, "Roll1"))
         pwg_name = "main-roll";
       else if (!strcasecmp(choice->choice, "Roll2"))
         pwg_name = "alternate-roll";
@@ -284,7 +275,7 @@ _pwgCreateWithPPD(ppd_file_t *ppd)  /* I - PPD file */
                              sizeof(_pwg_map_t))) == NULL)
     {
       DEBUG_printf(("_pwgCreateWithPPD: Unable to allocate %d _pwg_map_t's "
-                    "for MediaType.", input_slot->num_choices));
+                    "for MediaType.", media_type->num_choices));
       goto create_error;
     }
 
@@ -496,7 +487,7 @@ _pwgGetPageSize(_pwg_t     *pwg,    /* I - PWG mapping data */
 
     if (!_pwgInitSize(&jobsize, job, &margins_set))
       return (NULL);
-  }    
+  }
   else
   {
    /*
@@ -753,23 +744,23 @@ _pwgInputSlotForSource(
     char       *name,                  /* I - Name buffer */
     size_t     namesize)               /* I - Size of name buffer */
 {
-  if (strcasecmp(media_source, "main-tray"))
+  if (strcasecmp(media_source, "main"))
     strlcpy(name, "Cassette", namesize);
-  else if (strcasecmp(media_source, "alternate-tray"))
+  else if (strcasecmp(media_source, "alternate"))
     strlcpy(name, "Multipurpose", namesize);
-  else if (strcasecmp(media_source, "large-capacity-tray"))
+  else if (strcasecmp(media_source, "large-capacity"))
     strlcpy(name, "LargeCapacity", namesize);
-  else if (strcasecmp(media_source, "bottom-tray"))
+  else if (strcasecmp(media_source, "bottom"))
     strlcpy(name, "Lower", namesize);
-  else if (strcasecmp(media_source, "middle-tray"))
+  else if (strcasecmp(media_source, "middle"))
     strlcpy(name, "Middle", namesize);
-  else if (strcasecmp(media_source, "top-tray"))
+  else if (strcasecmp(media_source, "top"))
     strlcpy(name, "Upper", namesize);
-  else if (strcasecmp(media_source, "rear-feed"))
+  else if (strcasecmp(media_source, "rear"))
     strlcpy(name, "Rear", namesize);
-  else if (strcasecmp(media_source, "side-feed"))
+  else if (strcasecmp(media_source, "side"))
     strlcpy(name, "Side", namesize);
-  else if (strcasecmp(media_source, "envelope-feed"))
+  else if (strcasecmp(media_source, "envelope"))
     strlcpy(name, "Envelope", namesize);
   else if (strcasecmp(media_source, "main-roll"))
     strlcpy(name, "Roll", namesize);
index 4bf074e848f5ba1698f57aa2cdf5f80b075c3028..fa266a2bf0923e01a53eb2e858d49fe19c607618 100644 (file)
@@ -48,6 +48,10 @@ extern "C" {
  * Types and structures...
  */
 
+#  ifndef _CUPS_PPD_H_
+typedef struct ppd_file_s ppd_file_t;
+#  endif /* _CUPS_PPD_H_ */
+
 typedef struct _pwg_media_s            /**** Common media size data ****/
 {
   const char   *pwg,                   /* PWG 5101.1 "self describing" name */
@@ -84,8 +88,7 @@ typedef struct _pwg_s                 /**** PWG-PPD conversion data ****/
                custom_min_length;      /* Minimum custom length in 2540ths */
   char         *custom_max_keyword,    /* Maximum custom size PWG keyword */
                *custom_min_keyword,    /* Minimum custom size PWG keyword */
-               custom_ppd_size[PPD_MAX_NAME];
-                                       /* Custom PPD size name */
+               custom_ppd_size[41];    /* Custom PPD size name */
   _pwg_size_t  custom_size;            /* Custom size record */
   int          num_sources;            /* Number of media sources */
   _pwg_map_t   *sources;               /* Media sources */
@@ -99,33 +102,16 @@ typedef struct _pwg_s                      /**** PWG-PPD conversion data ****/
  */
 
 extern _pwg_t          *_pwgCreateWithFile(const char *filename);
-extern _pwg_t          *_pwgCreateWithPPD(ppd_file_t *ppd);
 extern void            _pwgDestroy(_pwg_t *pwg);
 extern void            _pwgGenerateSize(char *keyword, size_t keysize,
                                         const char *prefix,
                                         const char *ppdname,
                                         int width, int length);
-extern const char      *_pwgGetInputSlot(_pwg_t *pwg, ipp_t *job,
-                                         const char *keyword);
-extern const char      *_pwgGetMediaType(_pwg_t *pwg, ipp_t *job,
-                                         const char *keyword);
-extern const char      *_pwgGetPageSize(_pwg_t *pwg, ipp_t *job,
-                                        const char *keyword, int *exact);
-extern _pwg_size_t     *_pwgGetSize(_pwg_t *pwg, const char *page_size);
-extern const char      *_pwgGetSource(_pwg_t *pwg, const char *input_slot);
-extern const char      *_pwgGetType(_pwg_t *pwg, const char *media_type);
 extern int             _pwgInitSize(_pwg_size_t *size, ipp_t *job,
                                     int *margins_set);
-extern const char      *_pwgInputSlotForSource(const char *media_source,
-                                               char *name, size_t namesize);
 extern _pwg_media_t    *_pwgMediaForLegacy(const char *legacy);
-extern _pwg_media_t    *_pwgMediaForPPD(const char *ppd);
 extern _pwg_media_t    *_pwgMediaForPWG(const char *pwg);
 extern _pwg_media_t    *_pwgMediaForSize(int width, int length);
-extern const char      *_pwgMediaTypeForType(const char *media_source,
-                                             char *name, size_t namesize);
-extern const char      *_pwgPageSizeForMedia(_pwg_media_t *media,
-                                             char *name, size_t namesize);
 extern int             _pwgWriteFile(_pwg_t *pwg, const char *filename);
 
 
index 86d4a255c11ead3937a287b0e42306db18a36cbe..4848dacc2946cbb79ae7a732c01d5bfdd9cf687e 100644 (file)
@@ -24,7 +24,9 @@
  * Include necessary headers...
  */
 
-#  include <cups/cups.h>
+#  include "cups.h"
+#  include "ppd.h"
+
 
 #  ifdef __cplusplus
 extern "C" {
index 831582128151f4589d7ee877230e60920599015f..7bfe420bf7aa351c9498b68800a3915fc55993ab 100644 (file)
@@ -23,6 +23,7 @@
  */
 
 #include "cups.h"
+#include "ppd.h"
 #include "string-private.h"
 
 
index 22ee86607bf05c27cc75ea24c7bd11826dd3e138..f595568f60bf89cf55de1c86c740b28252bde14f 100644 (file)
@@ -26,6 +26,7 @@
 
 #include "string-private.h"
 #include "cups.h"
+#include "ppd.h"
 #include <stdlib.h>
 
 
@@ -90,7 +91,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
              cupsLastErrorString());
       return (1);
     }
-              
+
     interval = atoi(argv[3]);
 
     if (cupsStartDocument(CUPS_HTTP_DEFAULT, argv[1], job_id, argv[2],
index 5e9b657c2d4e5755dfc69bb7fbefb6ac133351dc..ce27728b002cfbada17e979a839f84410a6f15ea 100644 (file)
  *
  * Contents:
  *
- *   main() - Main entry.
+ *   main()             - Main entry.
+ *   hex_dump()         - Produce a hex dump of a buffer.
+ *   print_attributes() - Print the attributes in a request...
+ *   read_cb()          - Read data from a buffer.
+ *   write_cb()         - Write data into a buffer.
  */
 
 /*
@@ -239,6 +243,7 @@ main(int  argc,                     /* I - Number of command-line arguments */
     ippAddInteger(size, IPP_TAG_ZERO, IPP_TAG_INTEGER, "x-dimension", 21590);
     ippAddInteger(size, IPP_TAG_ZERO, IPP_TAG_INTEGER, "y-dimension", 27940);
     ippAddCollection(cols[0], IPP_TAG_JOB, "media-size", size);
+    ippDelete(size);
     ippAddString(cols[0], IPP_TAG_JOB, IPP_TAG_KEYWORD, "media-color", NULL,
                  "blue");
     ippAddString(cols[0], IPP_TAG_JOB, IPP_TAG_KEYWORD, "media-type", NULL,
@@ -249,6 +254,7 @@ main(int  argc,                     /* I - Number of command-line arguments */
     ippAddInteger(size, IPP_TAG_ZERO, IPP_TAG_INTEGER, "x-dimension", 21000);
     ippAddInteger(size, IPP_TAG_ZERO, IPP_TAG_INTEGER, "y-dimension", 29700);
     ippAddCollection(cols[1], IPP_TAG_JOB, "media-size", size);
+    ippDelete(size);
     ippAddString(cols[1], IPP_TAG_JOB, IPP_TAG_KEYWORD, "media-color", NULL,
                  "plaid");
     ippAddString(cols[1], IPP_TAG_JOB, IPP_TAG_KEYWORD, "media-type", NULL,
@@ -256,6 +262,8 @@ main(int  argc,                     /* I - Number of command-line arguments */
 
     ippAddCollections(request, IPP_TAG_JOB, "media-col", 2,
                       (const ipp_t **)cols);
+    ippDelete(cols[0]);
+    ippDelete(cols[1]);
 
     length = ippLength(request);
     if (length != sizeof(collection))
@@ -274,7 +282,8 @@ main(int  argc,                     /* I - Number of command-line arguments */
     printf("Write Sample to Memory: ");
 
     wused = 0;
-    while ((state = ippWriteIO(wbuffer, write_cb, 1, NULL, request)) != IPP_DATA)
+    while ((state = ippWriteIO(wbuffer, write_cb, 1, NULL,
+                               request)) != IPP_DATA)
       if (state == IPP_ERROR)
        break;
 
@@ -363,119 +372,124 @@ main(int  argc,                 /* I - Number of command-line arguments */
     else
       puts("PASS");
 
-    fputs("ippFindAttribute(media-size 1): ", stdout);
-    if ((media_size = ippFindAttribute(media_col->values[0].collection,
-                                       "media-size",
-                                       IPP_TAG_BEGIN_COLLECTION)) == NULL)
+    if (media_col)
     {
+      fputs("ippFindAttribute(media-size 1): ", stdout);
       if ((media_size = ippFindAttribute(media_col->values[0].collection,
-                                         "media-col",
-                                         IPP_TAG_ZERO)) == NULL)
-        puts("FAIL (not found)");
-      else
-        printf("FAIL (wrong type - %s)\n", ippTagString(media_size->value_tag));
-
-      status = 1;
-    }
-    else
-    {
-      if ((attr = ippFindAttribute(media_size->values[0].collection,
-                                   "x-dimension", IPP_TAG_INTEGER)) == NULL)
+                                        "media-size",
+                                        IPP_TAG_BEGIN_COLLECTION)) == NULL)
       {
-       if ((attr = ippFindAttribute(media_size->values[0].collection,
-                                    "x-dimension", IPP_TAG_ZERO)) == NULL)
-         puts("FAIL (missing x-dimension)");
+       if ((media_size = ippFindAttribute(media_col->values[0].collection,
+                                          "media-col",
+                                          IPP_TAG_ZERO)) == NULL)
+         puts("FAIL (not found)");
        else
-         printf("FAIL (wrong type for x-dimension - %s)\n",
-                ippTagString(attr->value_tag));
+         printf("FAIL (wrong type - %s)\n",
+                ippTagString(media_size->value_tag));
 
        status = 1;
       }
-      else if (attr->values[0].integer != 21590)
-      {
-        printf("FAIL (wrong value for x-dimension - %d)\n",
-              attr->values[0].integer);
-       status = 1;
-      }
-      else if ((attr = ippFindAttribute(media_size->values[0].collection,
-                                        "y-dimension",
-                                       IPP_TAG_INTEGER)) == NULL)
+      else
       {
        if ((attr = ippFindAttribute(media_size->values[0].collection,
-                                    "y-dimension", IPP_TAG_ZERO)) == NULL)
-         puts("FAIL (missing y-dimension)");
+                                    "x-dimension", IPP_TAG_INTEGER)) == NULL)
+       {
+         if ((attr = ippFindAttribute(media_size->values[0].collection,
+                                      "x-dimension", IPP_TAG_ZERO)) == NULL)
+           puts("FAIL (missing x-dimension)");
+         else
+           printf("FAIL (wrong type for x-dimension - %s)\n",
+                  ippTagString(attr->value_tag));
+
+         status = 1;
+       }
+       else if (attr->values[0].integer != 21590)
+       {
+         printf("FAIL (wrong value for x-dimension - %d)\n",
+                attr->values[0].integer);
+         status = 1;
+       }
+       else if ((attr = ippFindAttribute(media_size->values[0].collection,
+                                         "y-dimension",
+                                         IPP_TAG_INTEGER)) == NULL)
+       {
+         if ((attr = ippFindAttribute(media_size->values[0].collection,
+                                      "y-dimension", IPP_TAG_ZERO)) == NULL)
+           puts("FAIL (missing y-dimension)");
+         else
+           printf("FAIL (wrong type for y-dimension - %s)\n",
+                  ippTagString(attr->value_tag));
+
+         status = 1;
+       }
+       else if (attr->values[0].integer != 27940)
+       {
+         printf("FAIL (wrong value for y-dimension - %d)\n",
+                attr->values[0].integer);
+         status = 1;
+       }
        else
-         printf("FAIL (wrong type for y-dimension - %s)\n",
-                ippTagString(attr->value_tag));
-
-       status = 1;
+         puts("PASS");
       }
-      else if (attr->values[0].integer != 27940)
-      {
-        printf("FAIL (wrong value for y-dimension - %d)\n",
-              attr->values[0].integer);
-       status = 1;
-      }
-      else
-       puts("PASS");
-    }
 
-    fputs("ippFindAttribute(media-size 2): ", stdout);
-    if ((media_size = ippFindAttribute(media_col->values[1].collection,
-                                       "media-size",
-                                       IPP_TAG_BEGIN_COLLECTION)) == NULL)
-    {
+      fputs("ippFindAttribute(media-size 2): ", stdout);
       if ((media_size = ippFindAttribute(media_col->values[1].collection,
-                                         "media-col",
-                                         IPP_TAG_ZERO)) == NULL)
-        puts("FAIL (not found)");
-      else
-        printf("FAIL (wrong type - %s)\n", ippTagString(media_size->value_tag));
-
-      status = 1;
-    }
-    else
-    {
-      if ((attr = ippFindAttribute(media_size->values[0].collection,
-                                   "x-dimension",
-                                  IPP_TAG_INTEGER)) == NULL)
+                                        "media-size",
+                                        IPP_TAG_BEGIN_COLLECTION)) == NULL)
       {
-       if ((attr = ippFindAttribute(media_size->values[0].collection,
-                                    "x-dimension", IPP_TAG_ZERO)) == NULL)
-         puts("FAIL (missing x-dimension)");
+       if ((media_size = ippFindAttribute(media_col->values[1].collection,
+                                          "media-col",
+                                          IPP_TAG_ZERO)) == NULL)
+         puts("FAIL (not found)");
        else
-         printf("FAIL (wrong type for x-dimension - %s)\n",
-                ippTagString(attr->value_tag));
+         printf("FAIL (wrong type - %s)\n",
+                ippTagString(media_size->value_tag));
 
        status = 1;
       }
-      else if (attr->values[0].integer != 21000)
-      {
-        printf("FAIL (wrong value for x-dimension - %d)\n",
-              attr->values[0].integer);
-       status = 1;
-      }
-      else if ((attr = ippFindAttribute(media_size->values[0].collection,
-                                        "y-dimension",
-                                       IPP_TAG_INTEGER)) == NULL)
+      else
       {
        if ((attr = ippFindAttribute(media_size->values[0].collection,
-                                    "y-dimension", IPP_TAG_ZERO)) == NULL)
-         puts("FAIL (missing y-dimension)");
+                                    "x-dimension",
+                                    IPP_TAG_INTEGER)) == NULL)
+       {
+         if ((attr = ippFindAttribute(media_size->values[0].collection,
+                                      "x-dimension", IPP_TAG_ZERO)) == NULL)
+           puts("FAIL (missing x-dimension)");
+         else
+           printf("FAIL (wrong type for x-dimension - %s)\n",
+                  ippTagString(attr->value_tag));
+
+         status = 1;
+       }
+       else if (attr->values[0].integer != 21000)
+       {
+         printf("FAIL (wrong value for x-dimension - %d)\n",
+                attr->values[0].integer);
+         status = 1;
+       }
+       else if ((attr = ippFindAttribute(media_size->values[0].collection,
+                                         "y-dimension",
+                                         IPP_TAG_INTEGER)) == NULL)
+       {
+         if ((attr = ippFindAttribute(media_size->values[0].collection,
+                                      "y-dimension", IPP_TAG_ZERO)) == NULL)
+           puts("FAIL (missing y-dimension)");
+         else
+           printf("FAIL (wrong type for y-dimension - %s)\n",
+                  ippTagString(attr->value_tag));
+
+         status = 1;
+       }
+       else if (attr->values[0].integer != 29700)
+       {
+         printf("FAIL (wrong value for y-dimension - %d)\n",
+                attr->values[0].integer);
+         status = 1;
+       }
        else
-         printf("FAIL (wrong type for y-dimension - %s)\n",
-                ippTagString(attr->value_tag));
-
-       status = 1;
+         puts("PASS");
       }
-      else if (attr->values[0].integer != 29700)
-      {
-        printf("FAIL (wrong value for y-dimension - %d)\n",
-              attr->values[0].integer);
-       status = 1;
-      }
-      else
-       puts("PASS");
     }
 
     ippDelete(request);
index ef2b7426f531409334dd83f779a6cf40df3fff62..051d734cda0c565277572b190d033569cb1f6743 100644 (file)
@@ -23,7 +23,7 @@
  * Include necessary headers...
  */
 
-#include "pwg-private.h"
+#include "ppd-private.h"
 
 
 /*
index 96972ee747c118d8b7e1ad441bd52b0400f14925..7d506f8935c1251d14726cea39db004dd34caad9 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id$"
  *
- *   API versioning definitions for the Common UNIX Printing System (CUPS).
+ *   API versioning definitions for CUPS.
  *
- *   Copyright 2007-2008 by Apple Inc.
+ *   Copyright 2007-2010 by Apple Inc.
  *
  *   These coded instructions, statements, and computer programs are the
  *   property of Apple Inc. and are protected by Federal copyright
 #    define _CUPS_DEPRECATED
 #  endif /* __GNUC__ && __GNUC__ > 2 */
 
+#  ifndef __GNUC__
+#    define __attribute__(x)
+#  endif /* !__GNUC__ */
+
 #endif /* !_CUPS_VERSIONING_H_ */
 
 /*
index be2d65e2badd4cb9e0b9448e8c47af1579491f8b..bab8f31e61e166aa188107f7d6bde2c8a188d654 100644 (file)
@@ -71,6 +71,8 @@ HELPFILES     =       \
                        help/man-cupstestppd.html \
                        help/man-drv.html \
                        help/man-filter.html \
+                       help/man-ipptool.html \
+                       help/man-ipptoolfile.html \
                        help/man-lp.html \
                        help/man-lpadmin.html \
                        help/man-lpc.html \
index 418fb76bc91f12747d8b2e7d4bf0ca4a35c36c9b..bdcd5c21f6ca24ef3a262f0bdd0311cc8535425a 100644 (file)
@@ -377,6 +377,7 @@ div.contents ul.subcontents li {
 <li><a href="#OVERVIEW">Overview</a></li>
 <li><a href="#FUNCTIONS">Functions</a><ul class="code">
 <li><a href="#cgiCheckVariables" title="Check for the presence of &quot;required&quot; variables.">cgiCheckVariables</a></li>
+<li><a href="#cgiClearVariables" title="Clear all form variables.">cgiClearVariables</a></li>
 <li><a href="#cgiCompileSearch" title="Compile a search string.">cgiCompileSearch</a></li>
 <li><a href="#cgiCopyTemplateFile" title="Copy a template file and replace all the
 '{variable}' strings with the variable value.">cgiCopyTemplateFile</a></li>
@@ -386,26 +387,28 @@ div.contents ul.subcontents li {
 <li><a href="#cgiEndMultipart" title="End the delivery of a multipart web page.">cgiEndMultipart</a></li>
 <li><a href="#cgiFormEncode" title="Encode a string as a form variable.">cgiFormEncode</a></li>
 <li><a href="#cgiFreeSearch" title="Free a compiled search context.">cgiFreeSearch</a></li>
-<li><a href="#cgiGetArray" title="Get an element from a form array...">cgiGetArray</a></li>
+<li><a href="#cgiGetArray" title="Get an element from a form array.">cgiGetArray</a></li>
 <li><a href="#cgiGetAttributes" title="Get the list of attributes that are needed
 by the template file.">cgiGetAttributes</a></li>
+<li><a href="#cgiGetCookie" title="Get a cookie value.">cgiGetCookie</a></li>
 <li><a href="#cgiGetFile" title="Get the file (if any) that was submitted in the form.">cgiGetFile</a></li>
 <li><a href="#cgiGetIPPObjects" title="Get the objects in an IPP response.">cgiGetIPPObjects</a></li>
 <li><a href="#cgiGetSize" title="Get the size of a form array value.">cgiGetSize</a></li>
 <li><a href="#cgiGetTemplateDir" title="Get the templates directory...">cgiGetTemplateDir</a></li>
-<li><a href="#cgiGetVariable" title="Get a CGI variable from the database...">cgiGetVariable</a></li>
-<li><a href="#cgiInitialize" title="Initialize the CGI variable &quot;database&quot;...">cgiInitialize</a></li>
+<li><a href="#cgiGetVariable" title="Get a CGI variable from the database.">cgiGetVariable</a></li>
+<li><a href="#cgiInitialize" title="Initialize the CGI variable &quot;database&quot;.">cgiInitialize</a></li>
 <li><a href="#cgiIsPOST" title="Determine whether this page was POSTed.">cgiIsPOST</a></li>
 <li><a href="#cgiMoveJobs" title="Move one or more jobs.">cgiMoveJobs</a></li>
 <li><a href="#cgiPrintCommand" title="Print a CUPS command job.">cgiPrintCommand</a></li>
 <li><a href="#cgiPrintTestPage" title="Print a test page.">cgiPrintTestPage</a></li>
 <li><a href="#cgiRewriteURL" title="Rewrite a printer URI into a web browser URL...">cgiRewriteURL</a></li>
 <li><a href="#cgiSetArray" title="Set array element N to the specified string.">cgiSetArray</a></li>
+<li><a href="#cgiSetCookie" title="Set a cookie value.">cgiSetCookie</a></li>
 <li><a href="#cgiSetIPPObjectVars" title="Set CGI variables from an IPP object.">cgiSetIPPObjectVars</a></li>
 <li><a href="#cgiSetIPPVars" title="Set CGI variables from an IPP response.">cgiSetIPPVars</a></li>
 <li><a href="#cgiSetServerVersion" title="Set the server name and CUPS version...">cgiSetServerVersion</a></li>
 <li><a href="#cgiSetSize" title="Set the array size.">cgiSetSize</a></li>
-<li><a href="#cgiSetVariable" title="Set a CGI variable in the database...">cgiSetVariable</a></li>
+<li><a href="#cgiSetVariable" title="Set a CGI variable in the database.">cgiSetVariable</a></li>
 <li><a href="#cgiShowIPPError" title="Show the last IPP error message.">cgiShowIPPError</a></li>
 <li><a href="#cgiShowJobs" title="Show print jobs.">cgiShowJobs</a></li>
 <li><a href="#cgiStartHTML" title="Start a HTML page.">cgiStartHTML</a></li>
@@ -463,6 +466,10 @@ int cgiCheckVariables (<br>
 <p class="description">1 if all variables present, 0 otherwise</p>
 <h4 class="discussion">Discussion</h4>
 <p class="discussion">Names may be separated by spaces and/or commas.</p>
+<h3 class="function"><a name="cgiClearVariables">cgiClearVariables</a></h3>
+<p class="description">Clear all form variables.</p>
+<p class="code">
+void cgiClearVariables (void);</p>
 <h3 class="function"><a name="cgiCompileSearch">cgiCompileSearch</a></h3>
 <p class="description">Compile a search string.</p>
 <p class="code">
@@ -557,7 +564,7 @@ void cgiFreeSearch (<br>
 <dd class="description">Search context</dd>
 </dl>
 <h3 class="function"><a name="cgiGetArray">cgiGetArray</a></h3>
-<p class="description">Get an element from a form array...</p>
+<p class="description">Get an element from a form array.</p>
 <p class="code">
 const char *cgiGetArray (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const char *name,<br>
@@ -587,6 +594,19 @@ void cgiGetAttributes (<br>
 <dt>tmpl</dt>
 <dd class="description">Base filename</dd>
 </dl>
+<h3 class="function"><a name="cgiGetCookie">cgiGetCookie</a></h3>
+<p class="description">Get a cookie value.</p>
+<p class="code">
+const char *cgiGetCookie (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *name<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>name</dt>
+<dd class="description">Name of cookie</dd>
+</dl>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">Value or NULL</p>
 <h3 class="function"><a name="cgiGetFile">cgiGetFile</a></h3>
 <p class="description">Get the file (if any) that was submitted in the form.</p>
 <p class="code">
@@ -629,7 +649,7 @@ char *cgiGetTemplateDir (void);</p>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Template directory</p>
 <h3 class="function"><a name="cgiGetVariable">cgiGetVariable</a></h3>
-<p class="description">Get a CGI variable from the database...</p>
+<p class="description">Get a CGI variable from the database.</p>
 <p class="code">
 const char *cgiGetVariable (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const char *name<br>
@@ -643,9 +663,9 @@ const char *cgiGetVariable (<br>
 <p class="description">Value of variable</p>
 <h4 class="discussion">Discussion</h4>
 <p class="discussion">Returns NULL if the variable doesn't exist.  If the variable is an
-array of values, returns the last element...</p>
+array of values, returns the last element.</p>
 <h3 class="function"><a name="cgiInitialize">cgiInitialize</a></h3>
-<p class="description">Initialize the CGI variable &quot;database&quot;...</p>
+<p class="description">Initialize the CGI variable &quot;database&quot;.</p>
 <p class="code">
 int cgiInitialize (void);</p>
 <h4 class="returnvalue">Return Value</h4>
@@ -751,6 +771,32 @@ void cgiSetArray (<br>
 <h4 class="discussion">Discussion</h4>
 <p class="discussion">If the variable array is smaller than (element + 1), the intervening
 elements are set to NULL.</p>
+<h3 class="function"><a name="cgiSetCookie">cgiSetCookie</a></h3>
+<p class="description">Set a cookie value.</p>
+<p class="code">
+void cgiSetCookie (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *name,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *value,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *path,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;const char *domain,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;time_t expires,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int secure<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>name</dt>
+<dd class="description">Name</dd>
+<dt>value</dt>
+<dd class="description">Value</dd>
+<dt>path</dt>
+<dd class="description">Path (typically &quot;/&quot;)</dd>
+<dt>domain</dt>
+<dd class="description">Domain name</dd>
+<dt>expires</dt>
+<dd class="description">Expiration date (0 for session)</dd>
+<dt>secure</dt>
+<dd class="description">Require SSL</dd>
+</dl>
 <h3 class="function"><a name="cgiSetIPPObjectVars">cgiSetIPPObjectVars</a></h3>
 <p class="description">Set CGI variables from an IPP object.</p>
 <p class="code">
@@ -814,7 +860,7 @@ void cgiSetSize (<br>
 <dd class="description">Number of elements (0 to N)</dd>
 </dl>
 <h3 class="function"><a name="cgiSetVariable">cgiSetVariable</a></h3>
-<p class="description">Set a CGI variable in the database...</p>
+<p class="description">Set a CGI variable in the database.</p>
 <p class="code">
 void cgiSetVariable (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const char *name,<br>
index 8169608147f82d5225022afae1b97a4880a29a50..d53d09f0f253f57a7ab9c08aa52b295254655f6b 100644 (file)
@@ -398,7 +398,7 @@ div.contents ul.subcontents li {
 <li><a href="#cupsCancelJob" title="Cancel a print job on the default server.">cupsCancelJob</a></li>
 <li><a href="#cupsCancelJob2" title="Cancel or purge a print job.">cupsCancelJob2</a></li>
 <li><a href="#cupsCreateJob" title="Create an empty job for streaming.">cupsCreateJob</a></li>
-<li><a href="#cupsEncryption" title="Get the default encryption settings.">cupsEncryption</a></li>
+<li><a href="#cupsEncryption" title="Get the current encryption settings.">cupsEncryption</a></li>
 <li><a href="#cupsFinishDocument" title="Finish sending a document.">cupsFinishDocument</a></li>
 <li><a href="#cupsFreeDests" title="Free the memory used by the list of destinations.">cupsFreeDests</a></li>
 <li><a href="#cupsFreeJobs" title="Free memory used by job data.">cupsFreeJobs</a></li>
@@ -419,7 +419,7 @@ div.contents ul.subcontents li {
 server if it has changed.">cupsGetPPD3</a></li>
 <li><a href="#cupsGetPassword" title="Get a password from the user.">cupsGetPassword</a></li>
 <li><a href="#cupsGetPassword2" title="Get a password from the user using the advanced
-callback.">cupsGetPassword2</a></li>
+password callback.">cupsGetPassword2</a></li>
 <li><a href="#cupsGetPrinters" title="Get a list of printers from the default server.">cupsGetPrinters</a></li>
 <li><a href="#cupsGetServerPPD" title="Get an available PPD file from the server.">cupsGetServerPPD</a></li>
 <li><a href="#cupsLangDefault" title="Return the default language.">cupsLangDefault</a></li>
@@ -442,14 +442,14 @@ default server.">cupsPrintFiles</a></li>
 specified server.">cupsPrintFiles2</a></li>
 <li><a href="#cupsRemoveDest" title="Remove a destination from the destination list.">cupsRemoveDest</a></li>
 <li><a href="#cupsRemoveOption" title="Remove an option from an option array.">cupsRemoveOption</a></li>
-<li><a href="#cupsServer" title="Return the hostname/address of the default server.">cupsServer</a></li>
+<li><a href="#cupsServer" title="Return the hostname/address of the current server.">cupsServer</a></li>
 <li><a href="#cupsSetDefaultDest" title="Set the default destination.">cupsSetDefaultDest</a></li>
 <li><a href="#cupsSetDests" title="Save the list of destinations for the default server.">cupsSetDests</a></li>
 <li><a href="#cupsSetDests2" title="Save the list of destinations for the specified server.">cupsSetDests2</a></li>
 <li><a href="#cupsSetEncryption" title="Set the encryption preference.">cupsSetEncryption</a></li>
 <li><a href="#cupsSetPasswordCB" title="Set the password callback for CUPS.">cupsSetPasswordCB</a></li>
 <li><a href="#cupsSetPasswordCB2" title="Set the advanced password callback for CUPS.">cupsSetPasswordCB2</a></li>
-<li><a href="#cupsSetServer" title="Set the default server name.">cupsSetServer</a></li>
+<li><a href="#cupsSetServer" title="Set the default server name and port.">cupsSetServer</a></li>
 <li><a href="#cupsSetUser" title="Set the default user name.">cupsSetUser</a></li>
 <li><a href="#cupsStartDocument" title="Add a document to a job created with cupsCreateJob().">cupsStartDocument</a></li>
 <li><a href="#cupsTempFd" title="Creates a temporary file.">cupsTempFd</a></li>
@@ -479,7 +479,7 @@ specified server.">cupsPrintFiles2</a></li>
 
   CUPS API introduction for the Common UNIX Printing System (CUPS).
 
-  Copyright 2007-2008 by Apple Inc.
+  Copyright 2007-2010 by Apple Inc.
   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 
   These coded instructions, statements, and computer programs are the
@@ -558,12 +558,13 @@ instance will return the default instance for that destination.</p>
 </tr>
 <tr>
        <td>"printer-is-accepting-jobs"</td>
-       <td>"1" if the destination is accepting new jobs, "0" if not.</td>
+       <td>"true" if the destination is accepting new jobs, "false" if
+       not.</td>
 </tr>
 <tr>
        <td>"printer-is-shared"</td>
-       <td>"1" if the destination is being shared with other computers, "0" if
-       not.</td>
+       <td>"true" if the destination is being shared with other computers,
+       "false" if not.</td>
 </tr>
 <tr>
        <td>"printer-location"</td>
@@ -1157,7 +1158,7 @@ instead.
 
 </p>
 <h3 class="function"><a name="cupsEncryption">cupsEncryption</a></h3>
-<p class="description">Get the default encryption settings.</p>
+<p class="description">Get the current encryption settings.</p>
 <p class="code">
 http_encryption_t cupsEncryption (void);</p>
 <h4 class="returnvalue">Return Value</h4>
@@ -1166,7 +1167,12 @@ http_encryption_t cupsEncryption (void);</p>
 <p class="discussion">The default encryption setting comes from the CUPS_ENCRYPTION
 environment variable, then the ~/.cups/client.conf file, and finally the
 /etc/cups/client.conf file. If not set, the default is
-<code>HTTP_ENCRYPT_IF_REQUESTED</code>.</p>
+<code>HTTP_ENCRYPT_IF_REQUESTED</code>.<br>
+<br>
+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.4/Mac OS X 10.6&nbsp;</span><a name="cupsFinishDocument">cupsFinishDocument</a></h3>
 <p class="description">Finish sending a document.</p>
 <p class="code">
@@ -1577,10 +1583,15 @@ const char *cupsGetPassword (<br>
 <p class="description">Password</p>
 <h4 class="discussion">Discussion</h4>
 <p class="discussion">Uses the current password callback function. Returns <code>NULL</code> if the
-user does not provide a password.</p>
+user does not provide a password.<br>
+<br>
+Note: The current password callback function is tracked separately for each
+thread in a program. Multi-threaded programs that override the setting via
+the <a href="#cupsSetPasswordCB"><code>cupsSetPasswordCB</code></a> or <a href="#cupsSetPasswordCB2"><code>cupsSetPasswordCB2</code></a> functions need to
+do so in each thread for the same function to be used.</p>
 <h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsGetPassword2">cupsGetPassword2</a></h3>
 <p class="description">Get a password from the user using the advanced
-callback.</p>
+password callback.</p>
 <p class="code">
 const char *cupsGetPassword2 (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const char *prompt,<br>
@@ -1603,7 +1614,12 @@ const char *cupsGetPassword2 (<br>
 <p class="description">Password</p>
 <h4 class="discussion">Discussion</h4>
 <p class="discussion">Uses the current password callback function. Returns <code>NULL</code> if the
-user does not provide a password.
+user does not provide a password.<br>
+<br>
+Note: The current password callback function is tracked separately for each
+thread in a program. Multi-threaded programs that override the setting via
+the <a href="#cupsSetPasswordCB"><code>cupsSetPasswordCB</code></a> or <a href="#cupsSetPasswordCB2"><code>cupsSetPasswordCB2</code></a> functions need to
+do so in each thread for the same function to be used.
 
 </p>
 <h3 class="function"><span class="info">&nbsp;DEPRECATED&nbsp;</span><a name="cupsGetPrinters">cupsGetPrinters</a></h3>
@@ -1941,14 +1957,24 @@ int cupsRemoveOption (<br>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New number of options</p>
 <h3 class="function"><a name="cupsServer">cupsServer</a></h3>
-<p class="description">Return the hostname/address of the default server.</p>
+<p class="description">Return the hostname/address of the current server.</p>
 <p class="code">
 const char *cupsServer (void);</p>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Server name</p>
 <h4 class="discussion">Discussion</h4>
-<p class="discussion">The returned value can be a fully-qualified hostname, a numeric
-IPv4 or IPv6 address, or a domain socket pathname.</p>
+<p class="discussion">The default server comes from the CUPS_SERVER environment variable, then the
+~/.cups/client.conf file, and finally the /etc/cups/client.conf file. If not
+set, the default is the local system - either &quot;localhost&quot; or a domain socket
+path.<br>
+<br>
+The returned value can be a fully-qualified hostname, a numeric IPv4 or IPv6
+address, or a domain socket pathname.<br>
+<br>
+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.3/Mac OS X 10.5&nbsp;</span><a name="cupsSetDefaultDest">cupsSetDefaultDest</a></h3>
 <p class="description">Set the default destination.</p>
 <p class="code">
@@ -2021,6 +2047,15 @@ void cupsSetEncryption (<br>
 <dt>e</dt>
 <dd class="description">New encryption preference</dd>
 </dl>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">The default encryption setting comes from the CUPS_ENCRYPTION
+environment variable, then the ~/.cups/client.conf file, and finally the
+/etc/cups/client.conf file. If not set, the default is
+<code>HTTP_ENCRYPT_IF_REQUESTED</code>.<br>
+<br>
+Note: The current encryption setting is tracked separately for each thread
+in a program. Multi-threaded programs that override the setting need to do
+so in each thread for the same setting to be used.</p>
 <h3 class="function"><a name="cupsSetPasswordCB">cupsSetPasswordCB</a></h3>
 <p class="description">Set the password callback for CUPS.</p>
 <p class="code">
@@ -2033,7 +2068,14 @@ void cupsSetPasswordCB (<br>
 <dd class="description">Callback function</dd>
 </dl>
 <h4 class="discussion">Discussion</h4>
-<p class="discussion">Pass <code>NULL</code> to restore the default (console) password callback.</p>
+<p class="discussion">Pass <code>NULL</code> to restore the default (console) password callback, which
+reads the password from the console. Programs should call either this
+function or <a href="#cupsSetPasswordCB2"><code>cupsSetPasswordCB2</code></a>, as only one callback can be registered
+by a program per thread.<br>
+<br>
+Note: The current password callback is tracked separately for each thread
+in a program. Multi-threaded programs that override the callback need to do
+so in each thread for the same callback to be used.</p>
 <h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac 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">
@@ -2049,11 +2091,18 @@ void cupsSetPasswordCB2 (<br>
 <dd class="description">User data pointer</dd>
 </dl>
 <h4 class="discussion">Discussion</h4>
-<p class="discussion">Pass <code>NULL</code> to restore the default (console) password callback.
+<p class="discussion">Pass <code>NULL</code> to restore the default (console) password callback, which
+reads the password from the console. Programs should call either this
+function or <a href="#cupsSetPasswordCB2"><code>cupsSetPasswordCB2</code></a>, as only one callback can be registered
+by a program per thread.<br>
+<br>
+Note: The current password callback is tracked separately for each thread
+in a program. Multi-threaded programs that override the callback need to do
+so in each thread for the same callback to be used.
 
 </p>
 <h3 class="function"><a name="cupsSetServer">cupsSetServer</a></h3>
-<p class="description">Set the default server name.</p>
+<p class="description">Set the default server name and port.</p>
 <p class="code">
 void cupsSetServer (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;const char *server<br>
@@ -2065,8 +2114,14 @@ void cupsSetServer (<br>
 </dl>
 <h4 class="discussion">Discussion</h4>
 <p class="discussion">The &quot;server&quot; string can be a fully-qualified hostname, a numeric
-IPv4 or IPv6 address, or a domain socket pathname. Pass <code>NULL</code> to
-restore the default server name.</p>
+IPv4 or IPv6 address, or a domain socket pathname. Hostnames and numeric IP
+addresses can be optionally followed by a colon and port number to override
+the default port 631, e.g. &quot;hostname:8631&quot;. Pass <code>NULL</code> to restore the
+default server name and port.<br>
+<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"><a name="cupsSetUser">cupsSetUser</a></h3>
 <p class="description">Set the default user name.</p>
 <p class="code">
@@ -2079,7 +2134,11 @@ void cupsSetUser (<br>
 <dd class="description">User name</dd>
 </dl>
 <h4 class="discussion">Discussion</h4>
-<p class="discussion">Pass <code>NULL</code> to restore the default user name.</p>
+<p class="discussion">Pass <code>NULL</code> to restore the default user name.<br>
+<br>
+Note: The current user name is tracked separately for each thread in a
+program. Multi-threaded programs that override the user name need to do so
+in each thread for the same user name to be used.</p>
 <h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac 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">
@@ -2186,6 +2245,11 @@ The temporary file is opened for writing.
 const char *cupsUser (void);</p>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">User name</p>
+<h4 class="discussion">Discussion</h4>
+<p class="discussion">Note: The current user name is tracked separately for each thread in a
+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"><a name="cups_dest_t">cups_dest_t</a></h3>
 <p class="description">Destination</p>
index 0fad731af4cf5aa6f83183711ef6581841c4fe34..6753a8d923e9ff6a96785a75398231e75f670a5c 100644 (file)
@@ -537,19 +537,19 @@ 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="Attribute">ipp_attribute_t</a></li>
-       <li><a href="#ipp_finish_t" title="Finishings...">ipp_finish_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>
-       <li><a href="#ipp_jstate_t" title="Job States....">ipp_jstate_t</a></li>
-       <li><a href="#ipp_op_t" title="IPP operations...">ipp_op_t</a></li>
-       <li><a href="#ipp_orient_t" title="Orientation...">ipp_orient_t</a></li>
-       <li><a href="#ipp_pstate_t" title="Printer States....">ipp_pstate_t</a></li>
-       <li><a href="#ipp_quality_t" title="Qualities...">ipp_quality_t</a></li>
+       <li><a href="#ipp_jstate_t" title="Job states">ipp_jstate_t</a></li>
+       <li><a href="#ipp_op_t" title="IPP operations">ipp_op_t</a></li>
+       <li><a href="#ipp_orient_t" title="Orientation values">ipp_orient_t</a></li>
+       <li><a href="#ipp_pstate_t" title="Printer states">ipp_pstate_t</a></li>
+       <li><a href="#ipp_quality_t" title="Qualities">ipp_quality_t</a></li>
        <li><a href="#ipp_request_t" title="Request Header">ipp_request_t</a></li>
-       <li><a href="#ipp_res_t" title="Resolution units...">ipp_res_t</a></li>
-       <li><a href="#ipp_state_t" title="IPP states...">ipp_state_t</a></li>
+       <li><a href="#ipp_res_t" title="Resolution units">ipp_res_t</a></li>
+       <li><a href="#ipp_state_t" title="IPP states">ipp_state_t</a></li>
        <li><a href="#ipp_t" title="Attribute Value">ipp_t</a></li>
-       <li><a href="#ipp_uchar_t" title="IPP status codes...">ipp_uchar_t</a></li>
-       <li><a href="#ipp_tag_t" title="Format tags for attributes...">ipp_tag_t</a></li>
+       <li><a href="#ipp_uchar_t" title="IPP status codes">ipp_uchar_t</a></li>
+       <li><a href="#ipp_tag_t" title="Format tags for attributes">ipp_tag_t</a></li>
        <li><a href="#ipp_value_t" title="Attribute Value">ipp_value_t</a></li>
 </ul></li>
 <li><a href="#STRUCTURES">Structures</a><ul class="code">
@@ -576,16 +576,16 @@ are server-oriented...">http_state_e</a></li>
        <li><a href="#http_uri_coding_e" title="URI en/decode flags">http_uri_coding_e</a></li>
        <li><a href="#http_uri_status_e" title="URI separation status ">http_uri_status_e</a></li>
        <li><a href="#http_version_e" title="HTTP version numbers">http_version_e</a></li>
-       <li><a href="#ipp_finish_e" title="Finishings...">ipp_finish_e</a></li>
-       <li><a href="#ipp_jstate_e" title="Job States....">ipp_jstate_e</a></li>
-       <li><a href="#ipp_op_e" title="IPP operations...">ipp_op_e</a></li>
-       <li><a href="#ipp_orient_e" title="Orientation...">ipp_orient_e</a></li>
-       <li><a href="#ipp_pstate_e" title="Printer States....">ipp_pstate_e</a></li>
-       <li><a href="#ipp_quality_e" title="Qualities...">ipp_quality_e</a></li>
-       <li><a href="#ipp_res_e" title="Resolution units...">ipp_res_e</a></li>
-       <li><a href="#ipp_state_e" title="IPP states...">ipp_state_e</a></li>
-       <li><a href="#ipp_status_e" title="IPP status codes...">ipp_status_e</a></li>
-       <li><a href="#ipp_tag_e" title="Format tags for attributes...">ipp_tag_e</a></li>
+       <li><a href="#ipp_finish_e" title="Finishings">ipp_finish_e</a></li>
+       <li><a href="#ipp_jstate_e" title="Job states">ipp_jstate_e</a></li>
+       <li><a href="#ipp_op_e" title="IPP operations">ipp_op_e</a></li>
+       <li><a href="#ipp_orient_e" title="Orientation values">ipp_orient_e</a></li>
+       <li><a href="#ipp_pstate_e" title="Printer states">ipp_pstate_e</a></li>
+       <li><a href="#ipp_quality_e" title="Qualities">ipp_quality_e</a></li>
+       <li><a href="#ipp_res_e" title="Resolution units">ipp_res_e</a></li>
+       <li><a href="#ipp_state_e" title="IPP states">ipp_state_e</a></li>
+       <li><a href="#ipp_status_e" title="IPP status codes">ipp_status_e</a></li>
+       <li><a href="#ipp_tag_e" title="Format tags for attributes">ipp_tag_e</a></li>
 </ul></li>
 <!--
   "$Id$"
@@ -3324,7 +3324,7 @@ typedef enum <a href="#http_version_e">http_version_e</a> http_version_t;
 typedef struct <a href="#ipp_attribute_s">ipp_attribute_s</a> ipp_attribute_t;
 </p>
 <h3 class="typedef"><a name="ipp_finish_t">ipp_finish_t</a></h3>
-<p class="description">Finishings...</p>
+<p class="description">Finishings</p>
 <p class="code">
 typedef enum <a href="#ipp_finish_e">ipp_finish_e</a> ipp_finish_t;
 </p>
@@ -3334,27 +3334,27 @@ typedef enum <a href="#ipp_finish_e">ipp_finish_e</a> ipp_finish_t;
 typedef ssize_t (*ipp_iocb_t)(void *, <a href="#ipp_uchar_t">ipp_uchar_t</a> *, size_t);
 </p>
 <h3 class="typedef"><a name="ipp_jstate_t">ipp_jstate_t</a></h3>
-<p class="description">Job States....</p>
+<p class="description">Job states</p>
 <p class="code">
 typedef enum <a href="#ipp_jstate_e">ipp_jstate_e</a> ipp_jstate_t;
 </p>
 <h3 class="typedef"><a name="ipp_op_t">ipp_op_t</a></h3>
-<p class="description">IPP operations...</p>
+<p class="description">IPP operations</p>
 <p class="code">
 typedef enum <a href="#ipp_op_e">ipp_op_e</a> ipp_op_t;
 </p>
 <h3 class="typedef"><a name="ipp_orient_t">ipp_orient_t</a></h3>
-<p class="description">Orientation...</p>
+<p class="description">Orientation values</p>
 <p class="code">
 typedef enum <a href="#ipp_orient_e">ipp_orient_e</a> ipp_orient_t;
 </p>
 <h3 class="typedef"><a name="ipp_pstate_t">ipp_pstate_t</a></h3>
-<p class="description">Printer States....</p>
+<p class="description">Printer states</p>
 <p class="code">
 typedef enum <a href="#ipp_pstate_e">ipp_pstate_e</a> ipp_pstate_t;
 </p>
 <h3 class="typedef"><a name="ipp_quality_t">ipp_quality_t</a></h3>
-<p class="description">Qualities...</p>
+<p class="description">Qualities</p>
 <p class="code">
 typedef enum <a href="#ipp_quality_e">ipp_quality_e</a> ipp_quality_t;
 </p>
@@ -3364,12 +3364,12 @@ typedef enum <a href="#ipp_quality_e">ipp_quality_e</a> ipp_quality_t;
 typedef union <a href="#ipp_request_u">ipp_request_u</a> ipp_request_t;
 </p>
 <h3 class="typedef"><a name="ipp_res_t">ipp_res_t</a></h3>
-<p class="description">Resolution units...</p>
+<p class="description">Resolution units</p>
 <p class="code">
 typedef enum <a href="#ipp_res_e">ipp_res_e</a> ipp_res_t;
 </p>
 <h3 class="typedef"><a name="ipp_state_t">ipp_state_t</a></h3>
-<p class="description">IPP states...</p>
+<p class="description">IPP states</p>
 <p class="code">
 typedef enum <a href="#ipp_state_e">ipp_state_e</a> ipp_state_t;
 </p>
@@ -3379,12 +3379,12 @@ typedef enum <a href="#ipp_state_e">ipp_state_e</a> ipp_state_t;
 typedef struct <a href="#ipp_s">ipp_s</a> ipp_t;
 </p>
 <h3 class="typedef"><a name="ipp_uchar_t">ipp_uchar_t</a></h3>
-<p class="description">IPP status codes...</p>
+<p class="description">IPP status codes</p>
 <p class="code">
 typedef typedef unsigned char ipp_uchar_t;
 </p>
 <h3 class="typedef"><a name="ipp_tag_t">ipp_tag_t</a></h3>
-<p class="description">Format tags for attributes...</p>
+<p class="description">Format tags for attributes</p>
 <p class="code">
 typedef enum <a href="#ipp_tag_e">ipp_tag_e</a> ipp_tag_t;
 </p>
@@ -3442,6 +3442,7 @@ with a hostname. </p>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_attribute_t">ipp_attribute_t</a> *prev;<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_request_t">ipp_request_t</a> request;<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ipp_state_t">ipp_state_t</a> state;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;int use;<br>
 };</p>
 <h4 class="members">Members</h4>
 <dl>
@@ -3459,6 +3460,8 @@ with a hostname. </p>
 <dd class="description">Request header</dd>
 <dt>state </dt>
 <dd class="description">State of request</dd>
+<dt>use </dt>
+<dd class="description">Use count</dd>
 </dl>
 <h2 class="title"><a name="UNIONS">Unions</a></h2>
 <h3 class="union"><a name="ipp_request_u">ipp_request_u</a></h3>
@@ -3786,7 +3789,7 @@ are server-oriented...</p>
 <dd class="description">HTTP/1.1</dd>
 </dl>
 <h3 class="enumeration"><a name="ipp_finish_e">ipp_finish_e</a></h3>
-<p class="description">Finishings...</p>
+<p class="description">Finishings</p>
 <h4 class="constants">Constants</h4>
 <dl>
 <dt>IPP_FINISHINGS_BALE </dt>
@@ -3847,7 +3850,7 @@ are server-oriented...</p>
 <dd class="description">Trim (any type)</dd>
 </dl>
 <h3 class="enumeration"><a name="ipp_jstate_e">ipp_jstate_e</a></h3>
-<p class="description">Job States....</p>
+<p class="description">Job states</p>
 <h4 class="constants">Constants</h4>
 <dl>
 <dt>IPP_JOB_ABORTED </dt>
@@ -3866,7 +3869,7 @@ are server-oriented...</p>
 <dd class="description">Job has been stopped</dd>
 </dl>
 <h3 class="enumeration"><a name="ipp_op_e">ipp_op_e</a></h3>
-<p class="description">IPP operations...</p>
+<p class="description">IPP operations</p>
 <h4 class="constants">Constants</h4>
 <dl>
 <dt>CUPS_ACCEPT_JOBS </dt>
@@ -3903,8 +3906,14 @@ are server-oriented...</p>
 <dd class="description">Set the default printer</dd>
 <dt>IPP_CANCEL_JOB </dt>
 <dd class="description">Cancel a job</dd>
+<dt>IPP_CANCEL_JOBS </dt>
+<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>
 <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>
@@ -3943,6 +3952,8 @@ are server-oriented...</p>
 <dd class="description">Renew a printer subscription </dd>
 <dt>IPP_RESTART_JOB </dt>
 <dd class="description">Reprint a job</dd>
+<dt>IPP_RESUBMIT_JOB </dt>
+<dd class="description">Resubmit-Job</dd>
 <dt>IPP_RESUME_PRINTER </dt>
 <dd class="description">Start a printer</dd>
 <dt>IPP_SEND_DOCUMENT </dt>
@@ -3953,7 +3964,7 @@ are server-oriented...</p>
 <dd class="description">Validate job options</dd>
 </dl>
 <h3 class="enumeration"><a name="ipp_orient_e">ipp_orient_e</a></h3>
-<p class="description">Orientation...</p>
+<p class="description">Orientation values</p>
 <h4 class="constants">Constants</h4>
 <dl>
 <dt>IPP_LANDSCAPE </dt>
@@ -3966,7 +3977,7 @@ are server-oriented...</p>
 <dd class="description">180 degrees</dd>
 </dl>
 <h3 class="enumeration"><a name="ipp_pstate_e">ipp_pstate_e</a></h3>
-<p class="description">Printer States....</p>
+<p class="description">Printer states</p>
 <h4 class="constants">Constants</h4>
 <dl>
 <dt>IPP_PRINTER_IDLE </dt>
@@ -3977,7 +3988,7 @@ are server-oriented...</p>
 <dd class="description">Printer is stopped</dd>
 </dl>
 <h3 class="enumeration"><a name="ipp_quality_e">ipp_quality_e</a></h3>
-<p class="description">Qualities...</p>
+<p class="description">Qualities</p>
 <h4 class="constants">Constants</h4>
 <dl>
 <dt>IPP_QUALITY_DRAFT </dt>
@@ -3988,7 +3999,7 @@ are server-oriented...</p>
 <dd class="description">Normal quality</dd>
 </dl>
 <h3 class="enumeration"><a name="ipp_res_e">ipp_res_e</a></h3>
-<p class="description">Resolution units...</p>
+<p class="description">Resolution units</p>
 <h4 class="constants">Constants</h4>
 <dl>
 <dt>IPP_RES_PER_CM </dt>
@@ -3997,7 +4008,7 @@ are server-oriented...</p>
 <dd class="description">Pixels per inch</dd>
 </dl>
 <h3 class="enumeration"><a name="ipp_state_e">ipp_state_e</a></h3>
-<p class="description">IPP states...</p>
+<p class="description">IPP states</p>
 <h4 class="constants">Constants</h4>
 <dl>
 <dt>IPP_ATTRIBUTE </dt>
@@ -4012,7 +4023,7 @@ are server-oriented...</p>
 <dd class="description">Nothing is happening/request completed</dd>
 </dl>
 <h3 class="enumeration"><a name="ipp_status_e">ipp_status_e</a></h3>
-<p class="description">IPP status codes...</p>
+<p class="description">IPP status codes</p>
 <h4 class="constants">Constants</h4>
 <dl>
 <dt>CUPS_SEE_OTHER </dt>
@@ -4105,7 +4116,7 @@ are server-oriented...</p>
 <dd class="description">server-error-version-not-supported</dd>
 </dl>
 <h3 class="enumeration"><a name="ipp_tag_e">ipp_tag_e</a></h3>
-<p class="description">Format tags for attributes...</p>
+<p class="description">Format tags for attributes</p>
 <h4 class="constants">Constants</h4>
 <dl>
 <dt>IPP_TAG_ADMINDEFINE </dt>
index 44186fd0b279a324aff0ed7b78640d4a3056e91f..6ac61beece0b928f2f1190b32799d720fc12bda1 100644 (file)
@@ -1805,6 +1805,7 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 &nbsp;&nbsp;&nbsp;&nbsp;char *product;<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ppd_profile_t">ppd_profile_t</a> *profiles;<br>
 &nbsp;&nbsp;&nbsp;&nbsp;char *protocols;<br>
+&nbsp;&nbsp;&nbsp;&nbsp;void *pwg;<br>
 &nbsp;&nbsp;&nbsp;&nbsp;char *shortnickname;<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#ppd_size_t">ppd_size_t</a> *sizes;<br>
 &nbsp;&nbsp;&nbsp;&nbsp;int throughput;<br>
@@ -1887,6 +1888,8 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 <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>
 <dd class="description">Protocols (BCP, TBCP) string </dd>
+<dt>pwg </dt>
+<dd class="description">PWG to/from PPD mappings</dd>
 <dt>shortnickname </dt>
 <dd class="description">Short version of nickname</dd>
 <dt>sizes </dt>
@@ -2154,6 +2157,8 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 <dd class="description">Bad OrderDependency</dd>
 <dt>PPD_BAD_UI_CONSTRAINTS </dt>
 <dd class="description">Bad UIConstraints</dd>
+<dt>PPD_BAD_VALUE </dt>
+<dd class="description">Bad value string</dd>
 <dt>PPD_FILE_OPEN_ERROR </dt>
 <dd class="description">Unable to open PPD file</dd>
 <dt>PPD_ILLEGAL_CHARACTER </dt>
@@ -2172,6 +2177,8 @@ typedef enum <a href="#ppd_ui_e">ppd_ui_e</a> ppd_ui_t;
 <dd class="description">Line longer than 255 chars</dd>
 <dt>PPD_MISSING_ASTERISK </dt>
 <dd class="description">Missing asterisk in column 0</dd>
+<dt>PPD_MISSING_OPTION_KEYWORD </dt>
+<dd class="description">Missing option keyword</dd>
 <dt>PPD_MISSING_PPDADOBE4 </dt>
 <dd class="description">Missing PPD-Adobe-4.x header</dd>
 <dt>PPD_MISSING_VALUE </dt>
index c508a904c807521f5af92b6b2b590c1d91231a3c..56dcb6cb0e863f1d31033f9e08c4f634e956b39a 100644 (file)
 </OL>
 
 
-<!--
 <H2 CLASS="title"><A NAME="CUPSAPI">CUPS API</A></H2>
 
-<OL START="62">
+<OL START="6">
 
-       <LI><EM>;</EM><LI>
+       <LI><EM>CUPS headers;</EM> Changes to the main CUPS header may require code changes to applications and toolkits. Users of PPD functions must now include the &lt;cups/ppd.h&gt; header file explicitly since the &lt;cups/cups.h&gt; header no longer does so.</LI>
 
 </OL>
--->
 
 
 </BODY>
index 17875506ac0c7bdda17c3f4b0c1cd2d415292cd6..7d12f2f0bea73075d7a68a2fb444f38f705fc130 100644 (file)
@@ -1,62 +1,65 @@
 # DO NOT DELETE
 
-commandtoescpx.o: ../cups/cups.h ../cups/ipp.h ../cups/http.h
-commandtoescpx.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-commandtoescpx.o: ../cups/file.h ../cups/language.h driver.h ../cups/raster.h
-commandtoescpx.o: ../cups/string-private.h ../config.h ../data/escp.h
-commandtopclx.o: ../cups/cups.h ../cups/ipp.h ../cups/http.h
-commandtopclx.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-commandtopclx.o: ../cups/file.h ../cups/language.h driver.h ../cups/raster.h
-commandtopclx.o: ../cups/string-private.h ../config.h ../data/pcl.h
-rastertoescpx.o: driver.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-rastertoescpx.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-rastertoescpx.o: ../cups/file.h ../cups/language.h ../cups/raster.h
-rastertoescpx.o: ../cups/language-private.h ../cups/transcode.h
+commandtoescpx.o: ../cups/cups.h ../cups/file.h ../cups/versioning.h
+commandtoescpx.o: ../cups/ipp.h ../cups/http.h ../cups/language.h
+commandtoescpx.o: ../cups/array.h driver.h ../cups/raster.h ../cups/cups.h
+commandtoescpx.o: ../cups/ppd.h ../cups/string-private.h ../config.h
+commandtoescpx.o: ../data/escp.h
+commandtopclx.o: ../cups/cups.h ../cups/file.h ../cups/versioning.h
+commandtopclx.o: ../cups/ipp.h ../cups/http.h ../cups/language.h
+commandtopclx.o: ../cups/array.h driver.h ../cups/raster.h ../cups/cups.h
+commandtopclx.o: ../cups/ppd.h ../cups/string-private.h ../config.h
+commandtopclx.o: ../data/pcl.h
+rastertoescpx.o: driver.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+rastertoescpx.o: ../cups/ipp.h ../cups/http.h ../cups/language.h
+rastertoescpx.o: ../cups/array.h ../cups/raster.h ../cups/cups.h
+rastertoescpx.o: ../cups/ppd.h ../cups/language-private.h ../cups/transcode.h
 rastertoescpx.o: ../cups/string-private.h ../config.h ../data/escp.h
-rastertopclx.o: driver.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-rastertopclx.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-rastertopclx.o: ../cups/file.h ../cups/language.h ../cups/raster.h
+rastertopclx.o: driver.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+rastertopclx.o: ../cups/ipp.h ../cups/http.h ../cups/language.h
+rastertopclx.o: ../cups/array.h ../cups/raster.h ../cups/cups.h ../cups/ppd.h
 rastertopclx.o: ../cups/language-private.h ../cups/transcode.h
 rastertopclx.o: ../cups/string-private.h ../config.h pcl-common.h
 rastertopclx.o: ../data/pcl.h
-pcl-common.o: driver.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-pcl-common.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-pcl-common.o: ../cups/file.h ../cups/language.h ../cups/raster.h pcl-common.h
+pcl-common.o: driver.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+pcl-common.o: ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+pcl-common.o: ../cups/raster.h ../cups/cups.h ../cups/ppd.h pcl-common.h
 pcl-common.o: ../cups/string-private.h ../config.h ../data/pcl.h
 testcmyk.o: ../cups/string-private.h ../config.h driver.h ../cups/cups.h
-testcmyk.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-testcmyk.o: ../cups/array.h ../cups/file.h ../cups/language.h
-testcmyk.o: ../cups/raster.h
-testdither.o: driver.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-testdither.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-testdither.o: ../cups/file.h ../cups/language.h ../cups/raster.h
+testcmyk.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+testcmyk.o: ../cups/language.h ../cups/array.h ../cups/raster.h
+testcmyk.o: ../cups/cups.h ../cups/ppd.h
+testdither.o: driver.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+testdither.o: ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+testdither.o: ../cups/raster.h ../cups/cups.h ../cups/ppd.h
 testdither.o: ../cups/string-private.h ../config.h
 testrgb.o: ../cups/string-private.h ../config.h driver.h ../cups/cups.h
-testrgb.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-testrgb.o: ../cups/array.h ../cups/file.h ../cups/language.h ../cups/raster.h
-attr.o: driver.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-attr.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-attr.o: ../cups/language.h ../cups/raster.h ../cups/string-private.h
-attr.o: ../config.h
-check.o: driver.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-check.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-check.o: ../cups/language.h ../cups/raster.h
-cmyk.o: driver.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-cmyk.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-cmyk.o: ../cups/language.h ../cups/raster.h ../cups/string-private.h
-cmyk.o: ../config.h
-dither.o: driver.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-dither.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-dither.o: ../cups/language.h ../cups/raster.h ../config.h
-lut.o: driver.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-lut.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-lut.o: ../cups/language.h ../cups/raster.h
-pack.o: driver.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-pack.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-pack.o: ../cups/language.h ../cups/raster.h
-rgb.o: driver.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-rgb.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-rgb.o: ../cups/language.h ../cups/raster.h
-srgb.o: driver.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-srgb.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-srgb.o: ../cups/language.h ../cups/raster.h
+testrgb.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+testrgb.o: ../cups/language.h ../cups/array.h ../cups/raster.h ../cups/cups.h
+testrgb.o: ../cups/ppd.h
+attr.o: driver.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+attr.o: ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+attr.o: ../cups/raster.h ../cups/cups.h ../cups/ppd.h
+attr.o: ../cups/string-private.h ../config.h
+check.o: driver.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+check.o: ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+check.o: ../cups/raster.h ../cups/cups.h ../cups/ppd.h
+cmyk.o: driver.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+cmyk.o: ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+cmyk.o: ../cups/raster.h ../cups/cups.h ../cups/ppd.h
+cmyk.o: ../cups/string-private.h ../config.h
+dither.o: driver.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+dither.o: ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+dither.o: ../cups/raster.h ../cups/cups.h ../cups/ppd.h ../config.h
+lut.o: driver.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+lut.o: ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+lut.o: ../cups/raster.h ../cups/cups.h ../cups/ppd.h
+pack.o: driver.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+pack.o: ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+pack.o: ../cups/raster.h ../cups/cups.h ../cups/ppd.h
+rgb.o: driver.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+rgb.o: ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+rgb.o: ../cups/raster.h ../cups/cups.h ../cups/ppd.h
+srgb.o: driver.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+srgb.o: ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+srgb.o: ../cups/raster.h ../cups/cups.h ../cups/ppd.h
index fc17010de38d21014aac0937b7daf92d1de60fd2..6283b6abf3a23e9d6ddc74c12f7f501f89a55d9a 100644 (file)
 # DO NOT DELETE
 
 image-bmp.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-bmp.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-bmp.o: ../cups/array.h ../cups/file.h ../cups/language.h
+image-bmp.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+image-bmp.o: ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 image-bmp.o: ../cups/debug-private.h ../cups/string-private.h ../config.h
 image-colorspace.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-colorspace.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h
-image-colorspace.o: ../cups/ppd.h ../cups/array.h ../cups/file.h
-image-colorspace.o: ../cups/language.h ../cups/debug-private.h
+image-colorspace.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h
+image-colorspace.o: ../cups/http.h ../cups/language.h ../cups/array.h
+image-colorspace.o: ../cups/ppd.h ../cups/cups.h ../cups/debug-private.h
 image-colorspace.o: ../cups/string-private.h ../config.h
 image-gif.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-gif.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-gif.o: ../cups/array.h ../cups/file.h ../cups/language.h
+image-gif.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+image-gif.o: ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 image-gif.o: ../cups/debug-private.h ../cups/string-private.h ../config.h
 image-jpeg.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-jpeg.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-jpeg.o: ../cups/array.h ../cups/file.h ../cups/language.h
-image-jpeg.o: ../cups/debug-private.h ../cups/string-private.h ../config.h
+image-jpeg.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h
+image-jpeg.o: ../cups/http.h ../cups/language.h ../cups/array.h ../cups/ppd.h
+image-jpeg.o: ../cups/cups.h ../cups/debug-private.h ../cups/string-private.h
+image-jpeg.o: ../config.h
 image-photocd.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-photocd.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h
-image-photocd.o: ../cups/ppd.h ../cups/array.h ../cups/file.h
-image-photocd.o: ../cups/language.h ../cups/debug-private.h
+image-photocd.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h
+image-photocd.o: ../cups/http.h ../cups/language.h ../cups/array.h
+image-photocd.o: ../cups/ppd.h ../cups/cups.h ../cups/debug-private.h
 image-photocd.o: ../cups/string-private.h ../config.h
 image-pix.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-pix.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-pix.o: ../cups/array.h ../cups/file.h ../cups/language.h
+image-pix.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+image-pix.o: ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 image-pix.o: ../cups/debug-private.h ../cups/string-private.h ../config.h
 image-png.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-png.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-png.o: ../cups/array.h ../cups/file.h ../cups/language.h
+image-png.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+image-png.o: ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 image-png.o: ../cups/debug-private.h ../cups/string-private.h ../config.h
 image-pnm.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-pnm.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-pnm.o: ../cups/array.h ../cups/file.h ../cups/language.h
+image-pnm.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+image-pnm.o: ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 image-pnm.o: ../cups/debug-private.h ../cups/string-private.h ../config.h
 image-sgi.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-sgi.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-sgi.o: ../cups/array.h ../cups/file.h ../cups/language.h
+image-sgi.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+image-sgi.o: ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 image-sgi.o: ../cups/debug-private.h ../cups/string-private.h ../config.h
 image-sgi.o: image-sgi.h
 image-sgilib.o: image-sgi.h
 image-sun.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-sun.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-sun.o: ../cups/array.h ../cups/file.h ../cups/language.h
+image-sun.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+image-sun.o: ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 image-sun.o: ../cups/debug-private.h ../cups/string-private.h ../config.h
 image-tiff.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-tiff.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-tiff.o: ../cups/array.h ../cups/file.h ../cups/language.h
-image-tiff.o: ../cups/debug-private.h ../cups/string-private.h ../config.h
+image-tiff.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h
+image-tiff.o: ../cups/http.h ../cups/language.h ../cups/array.h ../cups/ppd.h
+image-tiff.o: ../cups/cups.h ../cups/debug-private.h ../cups/string-private.h
+image-tiff.o: ../config.h
 image-zoom.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-zoom.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-zoom.o: ../cups/array.h ../cups/file.h ../cups/language.h
-image-zoom.o: ../cups/debug-private.h ../cups/string-private.h ../config.h
+image-zoom.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h
+image-zoom.o: ../cups/http.h ../cups/language.h ../cups/array.h ../cups/ppd.h
+image-zoom.o: ../cups/cups.h ../cups/debug-private.h ../cups/string-private.h
+image-zoom.o: ../config.h
 image.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-image.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image.o: ../cups/array.h ../cups/file.h ../cups/language.h
+image.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+image.o: ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 image.o: ../cups/debug-private.h ../cups/string-private.h ../config.h
 error.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-error.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-error.o: ../cups/array.h ../cups/file.h ../cups/language.h
+error.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+error.o: ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 error.o: ../cups/debug-private.h ../cups/string-private.h ../config.h
 interpret.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-interpret.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-interpret.o: ../cups/array.h ../cups/file.h ../cups/language.h
+interpret.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+interpret.o: ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 interpret.o: ../cups/debug-private.h ../cups/string-private.h ../config.h
 raster.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-raster.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-raster.o: ../cups/array.h ../cups/file.h ../cups/language.h
+raster.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+raster.o: ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 raster.o: ../cups/debug-private.h ../cups/string-private.h ../config.h
 bannertops.o: pstext.h common.h ../cups/string-private.h ../config.h
-bannertops.o: ../cups/cups.h ../cups/ipp.h ../cups/http.h
-bannertops.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-bannertops.o: ../cups/file.h ../cups/language.h ../cups/language.h
-bannertops.o: ../cups/transcode.h image.h ../cups/raster.h
-bannertops.o: ../cups/language-private.h
-commandtops.o: ../cups/cups.h ../cups/ipp.h ../cups/http.h
-commandtops.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-commandtops.o: ../cups/file.h ../cups/language.h ../cups/string-private.h
+bannertops.o: ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+bannertops.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+bannertops.o: ../cups/language.h ../cups/array.h ../cups/transcode.h image.h
+bannertops.o: ../cups/raster.h ../cups/ppd.h ../cups/language-private.h
+commandtops.o: ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+commandtops.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+commandtops.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
 commandtops.o: ../config.h ../cups/sidechannel.h
-gziptoany.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-gziptoany.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-gziptoany.o: ../cups/array.h ../cups/file.h ../cups/language.h
-gziptoany.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-gziptoany.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-gziptoany.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-gziptoany.o: ../cups/transcode.h ../cups/pwg-private.h
+gziptoany.o: ../cups/cups-private.h ../cups/cups.h ../cups/string-private.h
+gziptoany.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+gziptoany.o: ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+gziptoany.o: ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+gziptoany.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+gziptoany.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+gziptoany.o: ../cups/language-private.h ../cups/transcode.h
 imagetops.o: common.h ../cups/string-private.h ../config.h ../cups/cups.h
-imagetops.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-imagetops.o: ../cups/array.h ../cups/file.h ../cups/language.h
-imagetops.o: ../cups/language.h image.h ../cups/raster.h
+imagetops.o: ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+imagetops.o: ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+imagetops.o: image.h ../cups/raster.h ../cups/ppd.h
 imagetoraster.o: common.h ../cups/string-private.h ../config.h ../cups/cups.h
-imagetoraster.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h
-imagetoraster.o: ../cups/ppd.h ../cups/array.h ../cups/file.h
-imagetoraster.o: ../cups/language.h ../cups/language.h image-private.h
-imagetoraster.o: image.h ../cups/raster.h ../cups/debug-private.h
+imagetoraster.o: ../cups/ppd.h ../cups/cups.h ../cups/file.h
+imagetoraster.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+imagetoraster.o: ../cups/language.h ../cups/array.h image-private.h image.h
+imagetoraster.o: ../cups/raster.h ../cups/ppd.h ../cups/debug-private.h
 common.o: common.h ../cups/string-private.h ../config.h ../cups/cups.h
-common.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-common.o: ../cups/array.h ../cups/file.h ../cups/language.h
-common.o: ../cups/language.h
-pdftops.o: ../cups/cups.h ../cups/ipp.h ../cups/http.h ../cups/versioning.h
-pdftops.o: ../cups/ppd.h ../cups/array.h ../cups/file.h ../cups/language.h
+common.o: ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+common.o: ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+pdftops.o: ../cups/cups.h
 pstext.o: pstext.h common.h ../cups/string-private.h ../config.h
-pstext.o: ../cups/cups.h ../cups/ipp.h ../cups/http.h ../cups/versioning.h
-pstext.o: ../cups/ppd.h ../cups/array.h ../cups/file.h ../cups/language.h
-pstext.o: ../cups/language.h ../cups/transcode.h ../cups/language-private.h
+pstext.o: ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+pstext.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+pstext.o: ../cups/language.h ../cups/array.h ../cups/transcode.h
+pstext.o: ../cups/language-private.h
 pstops.o: common.h ../cups/string-private.h ../config.h ../cups/cups.h
-pstops.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-pstops.o: ../cups/array.h ../cups/file.h ../cups/language.h
-pstops.o: ../cups/language.h ../cups/file.h ../cups/array.h
-pstops.o: ../cups/language-private.h ../cups/transcode.h
-rasterbench.o: ../config.h ../cups/raster.h ../cups/cups.h ../cups/ipp.h
-rasterbench.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-rasterbench.o: ../cups/array.h ../cups/file.h ../cups/language.h
-rastertoepson.o: ../cups/cups.h ../cups/ipp.h ../cups/http.h
-rastertoepson.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-rastertoepson.o: ../cups/file.h ../cups/language.h ../cups/ppd.h
-rastertoepson.o: ../cups/string-private.h ../config.h
-rastertoepson.o: ../cups/language-private.h ../cups/transcode.h
-rastertoepson.o: ../cups/raster.h
-rastertohp.o: ../cups/cups.h ../cups/ipp.h ../cups/http.h
-rastertohp.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-rastertohp.o: ../cups/file.h ../cups/language.h ../cups/string-private.h
+pstops.o: ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+pstops.o: ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+pstops.o: ../cups/file.h ../cups/array.h ../cups/language-private.h
+pstops.o: ../cups/transcode.h
+rasterbench.o: ../config.h ../cups/raster.h ../cups/cups.h ../cups/file.h
+rasterbench.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+rasterbench.o: ../cups/language.h ../cups/array.h ../cups/ppd.h
+rastertoepson.o: ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+rastertoepson.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+rastertoepson.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+rastertoepson.o: ../config.h ../cups/language-private.h ../cups/transcode.h
+rastertoepson.o: ../cups/raster.h ../cups/ppd.h
+rastertohp.o: ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+rastertohp.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+rastertohp.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
 rastertohp.o: ../config.h ../cups/language-private.h ../cups/transcode.h
-rastertohp.o: ../cups/raster.h
-rastertolabel.o: ../cups/cups.h ../cups/ipp.h ../cups/http.h
-rastertolabel.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-rastertolabel.o: ../cups/file.h ../cups/language.h ../cups/string-private.h
+rastertohp.o: ../cups/raster.h ../cups/ppd.h
+rastertolabel.o: ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+rastertolabel.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+rastertolabel.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
 rastertolabel.o: ../config.h ../cups/language-private.h ../cups/transcode.h
-rastertolabel.o: ../cups/raster.h
-testimage.o: image.h ../cups/raster.h ../cups/cups.h ../cups/ipp.h
-testimage.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-testimage.o: ../cups/array.h ../cups/file.h ../cups/language.h
+rastertolabel.o: ../cups/raster.h ../cups/ppd.h
+testimage.o: image.h ../cups/raster.h ../cups/cups.h ../cups/file.h
+testimage.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+testimage.o: ../cups/language.h ../cups/array.h ../cups/ppd.h
 testraster.o: image-private.h image.h ../cups/raster.h ../cups/cups.h
-testraster.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-testraster.o: ../cups/array.h ../cups/file.h ../cups/language.h
-testraster.o: ../cups/debug-private.h ../cups/string-private.h ../config.h
+testraster.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h
+testraster.o: ../cups/http.h ../cups/language.h ../cups/array.h ../cups/ppd.h
+testraster.o: ../cups/cups.h ../cups/debug-private.h ../cups/string-private.h
+testraster.o: ../config.h
 textcommon.o: textcommon.h common.h ../cups/string-private.h ../config.h
-textcommon.o: ../cups/cups.h ../cups/ipp.h ../cups/http.h
-textcommon.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-textcommon.o: ../cups/file.h ../cups/language.h ../cups/language.h
-textcommon.o: ../cups/language-private.h ../cups/transcode.h
+textcommon.o: ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+textcommon.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+textcommon.o: ../cups/language.h ../cups/array.h ../cups/language-private.h
+textcommon.o: ../cups/transcode.h
 texttops.o: textcommon.h common.h ../cups/string-private.h ../config.h
-texttops.o: ../cups/cups.h ../cups/ipp.h ../cups/http.h ../cups/versioning.h
-texttops.o: ../cups/ppd.h ../cups/array.h ../cups/file.h ../cups/language.h
-texttops.o: ../cups/language.h ../cups/language-private.h ../cups/transcode.h
+texttops.o: ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+texttops.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+texttops.o: ../cups/language.h ../cups/array.h ../cups/language-private.h
+texttops.o: ../cups/transcode.h
 # DO NOT DELETE
 
 image-bmp.32.o: image-bmp.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-bmp.32.o: image-bmp.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-bmp.32.o: image-bmp.c  ../cups/array.h ../cups/file.h ../cups/language.h
+image-bmp.32.o: image-bmp.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+image-bmp.32.o: image-bmp.c  ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 image-bmp.32.o: image-bmp.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
 image-colorspace.32.o: image-colorspace.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-colorspace.32.o: image-colorspace.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h
-image-colorspace.32.o: image-colorspace.c  ../cups/ppd.h ../cups/array.h ../cups/file.h
-image-colorspace.32.o: image-colorspace.c  ../cups/language.h ../cups/debug-private.h
+image-colorspace.32.o: image-colorspace.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
+image-colorspace.32.o: image-colorspace.c  ../cups/http.h ../cups/language.h ../cups/array.h
+image-colorspace.32.o: image-colorspace.c  ../cups/ppd.h ../cups/cups.h ../cups/debug-private.h
 image-colorspace.32.o: image-colorspace.c  ../cups/string-private.h ../config.h
 image-gif.32.o: image-gif.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-gif.32.o: image-gif.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-gif.32.o: image-gif.c  ../cups/array.h ../cups/file.h ../cups/language.h
+image-gif.32.o: image-gif.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+image-gif.32.o: image-gif.c  ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 image-gif.32.o: image-gif.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
 image-jpeg.32.o: image-jpeg.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-jpeg.32.o: image-jpeg.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-jpeg.32.o: image-jpeg.c  ../cups/array.h ../cups/file.h ../cups/language.h
-image-jpeg.32.o: image-jpeg.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
+image-jpeg.32.o: image-jpeg.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
+image-jpeg.32.o: image-jpeg.c  ../cups/http.h ../cups/language.h ../cups/array.h ../cups/ppd.h
+image-jpeg.32.o: image-jpeg.c  ../cups/cups.h ../cups/debug-private.h ../cups/string-private.h
+image-jpeg.32.o: image-jpeg.c  ../config.h
 image-photocd.32.o: image-photocd.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-photocd.32.o: image-photocd.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h
-image-photocd.32.o: image-photocd.c  ../cups/ppd.h ../cups/array.h ../cups/file.h
-image-photocd.32.o: image-photocd.c  ../cups/language.h ../cups/debug-private.h
+image-photocd.32.o: image-photocd.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
+image-photocd.32.o: image-photocd.c  ../cups/http.h ../cups/language.h ../cups/array.h
+image-photocd.32.o: image-photocd.c  ../cups/ppd.h ../cups/cups.h ../cups/debug-private.h
 image-photocd.32.o: image-photocd.c  ../cups/string-private.h ../config.h
 image-pix.32.o: image-pix.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-pix.32.o: image-pix.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-pix.32.o: image-pix.c  ../cups/array.h ../cups/file.h ../cups/language.h
+image-pix.32.o: image-pix.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+image-pix.32.o: image-pix.c  ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 image-pix.32.o: image-pix.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
 image-png.32.o: image-png.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-png.32.o: image-png.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-png.32.o: image-png.c  ../cups/array.h ../cups/file.h ../cups/language.h
+image-png.32.o: image-png.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+image-png.32.o: image-png.c  ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 image-png.32.o: image-png.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
 image-pnm.32.o: image-pnm.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-pnm.32.o: image-pnm.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-pnm.32.o: image-pnm.c  ../cups/array.h ../cups/file.h ../cups/language.h
+image-pnm.32.o: image-pnm.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+image-pnm.32.o: image-pnm.c  ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 image-pnm.32.o: image-pnm.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
 image-sgi.32.o: image-sgi.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-sgi.32.o: image-sgi.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-sgi.32.o: image-sgi.c  ../cups/array.h ../cups/file.h ../cups/language.h
+image-sgi.32.o: image-sgi.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+image-sgi.32.o: image-sgi.c  ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 image-sgi.32.o: image-sgi.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
 image-sgi.32.o: image-sgi.c  image-sgi.h
 image-sgilib.32.o: image-sgilib.c  image-sgi.h
 image-sun.32.o: image-sun.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-sun.32.o: image-sun.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-sun.32.o: image-sun.c  ../cups/array.h ../cups/file.h ../cups/language.h
+image-sun.32.o: image-sun.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+image-sun.32.o: image-sun.c  ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 image-sun.32.o: image-sun.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
 image-tiff.32.o: image-tiff.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-tiff.32.o: image-tiff.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-tiff.32.o: image-tiff.c  ../cups/array.h ../cups/file.h ../cups/language.h
-image-tiff.32.o: image-tiff.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
+image-tiff.32.o: image-tiff.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
+image-tiff.32.o: image-tiff.c  ../cups/http.h ../cups/language.h ../cups/array.h ../cups/ppd.h
+image-tiff.32.o: image-tiff.c  ../cups/cups.h ../cups/debug-private.h ../cups/string-private.h
+image-tiff.32.o: image-tiff.c  ../config.h
 image-zoom.32.o: image-zoom.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-zoom.32.o: image-zoom.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-zoom.32.o: image-zoom.c  ../cups/array.h ../cups/file.h ../cups/language.h
-image-zoom.32.o: image-zoom.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
+image-zoom.32.o: image-zoom.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
+image-zoom.32.o: image-zoom.c  ../cups/http.h ../cups/language.h ../cups/array.h ../cups/ppd.h
+image-zoom.32.o: image-zoom.c  ../cups/cups.h ../cups/debug-private.h ../cups/string-private.h
+image-zoom.32.o: image-zoom.c  ../config.h
 image.32.o: image.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image.32.o: image.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image.32.o: image.c  ../cups/array.h ../cups/file.h ../cups/language.h
+image.32.o: image.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+image.32.o: image.c  ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 image.32.o: image.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
 error.32.o: error.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-error.32.o: error.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-error.32.o: error.c  ../cups/array.h ../cups/file.h ../cups/language.h
+error.32.o: error.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+error.32.o: error.c  ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 error.32.o: error.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
 interpret.32.o: interpret.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-interpret.32.o: interpret.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-interpret.32.o: interpret.c  ../cups/array.h ../cups/file.h ../cups/language.h
+interpret.32.o: interpret.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+interpret.32.o: interpret.c  ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 interpret.32.o: interpret.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
 raster.32.o: raster.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-raster.32.o: raster.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-raster.32.o: raster.c  ../cups/array.h ../cups/file.h ../cups/language.h
+raster.32.o: raster.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+raster.32.o: raster.c  ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 raster.32.o: raster.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
 bannertops.32.o: bannertops.c  pstext.h common.h ../cups/string-private.h ../config.h
-bannertops.32.o: bannertops.c  ../cups/cups.h ../cups/ipp.h ../cups/http.h
-bannertops.32.o: bannertops.c  ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-bannertops.32.o: bannertops.c  ../cups/file.h ../cups/language.h ../cups/language.h
-bannertops.32.o: bannertops.c  ../cups/transcode.h image.h ../cups/raster.h
-bannertops.32.o: bannertops.c  ../cups/language-private.h
-commandtops.32.o: commandtops.c  ../cups/cups.h ../cups/ipp.h ../cups/http.h
-commandtops.32.o: commandtops.c  ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-commandtops.32.o: commandtops.c  ../cups/file.h ../cups/language.h ../cups/string-private.h
+bannertops.32.o: bannertops.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+bannertops.32.o: bannertops.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+bannertops.32.o: bannertops.c  ../cups/language.h ../cups/array.h ../cups/transcode.h image.h
+bannertops.32.o: bannertops.c  ../cups/raster.h ../cups/ppd.h ../cups/language-private.h
+commandtops.32.o: commandtops.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+commandtops.32.o: commandtops.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+commandtops.32.o: commandtops.c  ../cups/language.h ../cups/array.h ../cups/string-private.h
 commandtops.32.o: commandtops.c  ../config.h ../cups/sidechannel.h
-gziptoany.32.o: gziptoany.c  ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-gziptoany.32.o: gziptoany.c  ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-gziptoany.32.o: gziptoany.c  ../cups/array.h ../cups/file.h ../cups/language.h
-gziptoany.32.o: gziptoany.c  ../cups/string-private.h ../config.h ../cups/debug-private.h
-gziptoany.32.o: gziptoany.c  ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-gziptoany.32.o: gziptoany.c  ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-gziptoany.32.o: gziptoany.c  ../cups/transcode.h ../cups/pwg-private.h
+gziptoany.32.o: gziptoany.c  ../cups/cups-private.h ../cups/cups.h ../cups/string-private.h
+gziptoany.32.o: gziptoany.c  ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+gziptoany.32.o: gziptoany.c  ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+gziptoany.32.o: gziptoany.c  ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+gziptoany.32.o: gziptoany.c  ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+gziptoany.32.o: gziptoany.c  ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+gziptoany.32.o: gziptoany.c  ../cups/language-private.h ../cups/transcode.h
 imagetops.32.o: imagetops.c  common.h ../cups/string-private.h ../config.h ../cups/cups.h
-imagetops.32.o: imagetops.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-imagetops.32.o: imagetops.c  ../cups/array.h ../cups/file.h ../cups/language.h
-imagetops.32.o: imagetops.c  ../cups/language.h image.h ../cups/raster.h
+imagetops.32.o: imagetops.c  ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+imagetops.32.o: imagetops.c  ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+imagetops.32.o: imagetops.c  image.h ../cups/raster.h ../cups/ppd.h
 imagetoraster.32.o: imagetoraster.c  common.h ../cups/string-private.h ../config.h ../cups/cups.h
-imagetoraster.32.o: imagetoraster.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h
-imagetoraster.32.o: imagetoraster.c  ../cups/ppd.h ../cups/array.h ../cups/file.h
-imagetoraster.32.o: imagetoraster.c  ../cups/language.h ../cups/language.h image-private.h
-imagetoraster.32.o: imagetoraster.c  image.h ../cups/raster.h ../cups/debug-private.h
+imagetoraster.32.o: imagetoraster.c  ../cups/ppd.h ../cups/cups.h ../cups/file.h
+imagetoraster.32.o: imagetoraster.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+imagetoraster.32.o: imagetoraster.c  ../cups/language.h ../cups/array.h image-private.h image.h
+imagetoraster.32.o: imagetoraster.c  ../cups/raster.h ../cups/ppd.h ../cups/debug-private.h
 common.32.o: common.c  common.h ../cups/string-private.h ../config.h ../cups/cups.h
-common.32.o: common.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-common.32.o: common.c  ../cups/array.h ../cups/file.h ../cups/language.h
-common.32.o: common.c  ../cups/language.h
-pdftops.32.o: pdftops.c  ../cups/cups.h ../cups/ipp.h ../cups/http.h ../cups/versioning.h
-pdftops.32.o: pdftops.c  ../cups/ppd.h ../cups/array.h ../cups/file.h ../cups/language.h
+common.32.o: common.c  ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+common.32.o: common.c  ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+pdftops.32.o: pdftops.c  ../cups/cups.h
 pstext.32.o: pstext.c  pstext.h common.h ../cups/string-private.h ../config.h
-pstext.32.o: pstext.c  ../cups/cups.h ../cups/ipp.h ../cups/http.h ../cups/versioning.h
-pstext.32.o: pstext.c  ../cups/ppd.h ../cups/array.h ../cups/file.h ../cups/language.h
-pstext.32.o: pstext.c  ../cups/language.h ../cups/transcode.h ../cups/language-private.h
+pstext.32.o: pstext.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+pstext.32.o: pstext.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+pstext.32.o: pstext.c  ../cups/language.h ../cups/array.h ../cups/transcode.h
+pstext.32.o: pstext.c  ../cups/language-private.h
 pstops.32.o: pstops.c  common.h ../cups/string-private.h ../config.h ../cups/cups.h
-pstops.32.o: pstops.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-pstops.32.o: pstops.c  ../cups/array.h ../cups/file.h ../cups/language.h
-pstops.32.o: pstops.c  ../cups/language.h ../cups/file.h ../cups/array.h
-pstops.32.o: pstops.c  ../cups/language-private.h ../cups/transcode.h
-rasterbench.32.o: rasterbench.c  ../config.h ../cups/raster.h ../cups/cups.h ../cups/ipp.h
-rasterbench.32.o: rasterbench.c  ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-rasterbench.32.o: rasterbench.c  ../cups/array.h ../cups/file.h ../cups/language.h
-rastertoepson.32.o: rastertoepson.c  ../cups/cups.h ../cups/ipp.h ../cups/http.h
-rastertoepson.32.o: rastertoepson.c  ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-rastertoepson.32.o: rastertoepson.c  ../cups/file.h ../cups/language.h ../cups/ppd.h
-rastertoepson.32.o: rastertoepson.c  ../cups/string-private.h ../config.h
-rastertoepson.32.o: rastertoepson.c  ../cups/language-private.h ../cups/transcode.h
-rastertoepson.32.o: rastertoepson.c  ../cups/raster.h
-rastertohp.32.o: rastertohp.c  ../cups/cups.h ../cups/ipp.h ../cups/http.h
-rastertohp.32.o: rastertohp.c  ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-rastertohp.32.o: rastertohp.c  ../cups/file.h ../cups/language.h ../cups/string-private.h
+pstops.32.o: pstops.c  ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+pstops.32.o: pstops.c  ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+pstops.32.o: pstops.c  ../cups/file.h ../cups/array.h ../cups/language-private.h
+pstops.32.o: pstops.c  ../cups/transcode.h
+rasterbench.32.o: rasterbench.c  ../config.h ../cups/raster.h ../cups/cups.h ../cups/file.h
+rasterbench.32.o: rasterbench.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+rasterbench.32.o: rasterbench.c  ../cups/language.h ../cups/array.h ../cups/ppd.h
+rastertoepson.32.o: rastertoepson.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+rastertoepson.32.o: rastertoepson.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+rastertoepson.32.o: rastertoepson.c  ../cups/language.h ../cups/array.h ../cups/string-private.h
+rastertoepson.32.o: rastertoepson.c  ../config.h ../cups/language-private.h ../cups/transcode.h
+rastertoepson.32.o: rastertoepson.c  ../cups/raster.h ../cups/ppd.h
+rastertohp.32.o: rastertohp.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+rastertohp.32.o: rastertohp.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+rastertohp.32.o: rastertohp.c  ../cups/language.h ../cups/array.h ../cups/string-private.h
 rastertohp.32.o: rastertohp.c  ../config.h ../cups/language-private.h ../cups/transcode.h
-rastertohp.32.o: rastertohp.c  ../cups/raster.h
-rastertolabel.32.o: rastertolabel.c  ../cups/cups.h ../cups/ipp.h ../cups/http.h
-rastertolabel.32.o: rastertolabel.c  ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-rastertolabel.32.o: rastertolabel.c  ../cups/file.h ../cups/language.h ../cups/string-private.h
+rastertohp.32.o: rastertohp.c  ../cups/raster.h ../cups/ppd.h
+rastertolabel.32.o: rastertolabel.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+rastertolabel.32.o: rastertolabel.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+rastertolabel.32.o: rastertolabel.c  ../cups/language.h ../cups/array.h ../cups/string-private.h
 rastertolabel.32.o: rastertolabel.c  ../config.h ../cups/language-private.h ../cups/transcode.h
-rastertolabel.32.o: rastertolabel.c  ../cups/raster.h
-testimage.32.o: testimage.c  image.h ../cups/raster.h ../cups/cups.h ../cups/ipp.h
-testimage.32.o: testimage.c  ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-testimage.32.o: testimage.c  ../cups/array.h ../cups/file.h ../cups/language.h
+rastertolabel.32.o: rastertolabel.c  ../cups/raster.h ../cups/ppd.h
+testimage.32.o: testimage.c  image.h ../cups/raster.h ../cups/cups.h ../cups/file.h
+testimage.32.o: testimage.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+testimage.32.o: testimage.c  ../cups/language.h ../cups/array.h ../cups/ppd.h
 testraster.32.o: testraster.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-testraster.32.o: testraster.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-testraster.32.o: testraster.c  ../cups/array.h ../cups/file.h ../cups/language.h
-testraster.32.o: testraster.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
+testraster.32.o: testraster.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
+testraster.32.o: testraster.c  ../cups/http.h ../cups/language.h ../cups/array.h ../cups/ppd.h
+testraster.32.o: testraster.c  ../cups/cups.h ../cups/debug-private.h ../cups/string-private.h
+testraster.32.o: testraster.c  ../config.h
 textcommon.32.o: textcommon.c  textcommon.h common.h ../cups/string-private.h ../config.h
-textcommon.32.o: textcommon.c  ../cups/cups.h ../cups/ipp.h ../cups/http.h
-textcommon.32.o: textcommon.c  ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-textcommon.32.o: textcommon.c  ../cups/file.h ../cups/language.h ../cups/language.h
-textcommon.32.o: textcommon.c  ../cups/language-private.h ../cups/transcode.h
+textcommon.32.o: textcommon.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+textcommon.32.o: textcommon.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+textcommon.32.o: textcommon.c  ../cups/language.h ../cups/array.h ../cups/language-private.h
+textcommon.32.o: textcommon.c  ../cups/transcode.h
 texttops.32.o: texttops.c  textcommon.h common.h ../cups/string-private.h ../config.h
-texttops.32.o: texttops.c  ../cups/cups.h ../cups/ipp.h ../cups/http.h ../cups/versioning.h
-texttops.32.o: texttops.c  ../cups/ppd.h ../cups/array.h ../cups/file.h ../cups/language.h
-texttops.32.o: texttops.c  ../cups/language.h ../cups/language-private.h ../cups/transcode.h
+texttops.32.o: texttops.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+texttops.32.o: texttops.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+texttops.32.o: texttops.c  ../cups/language.h ../cups/array.h ../cups/language-private.h
+texttops.32.o: texttops.c  ../cups/transcode.h
 # DO NOT DELETE
 
 image-bmp.64.o: image-bmp.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-bmp.64.o: image-bmp.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-bmp.64.o: image-bmp.c  ../cups/array.h ../cups/file.h ../cups/language.h
+image-bmp.64.o: image-bmp.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+image-bmp.64.o: image-bmp.c  ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 image-bmp.64.o: image-bmp.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
 image-colorspace.64.o: image-colorspace.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-colorspace.64.o: image-colorspace.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h
-image-colorspace.64.o: image-colorspace.c  ../cups/ppd.h ../cups/array.h ../cups/file.h
-image-colorspace.64.o: image-colorspace.c  ../cups/language.h ../cups/debug-private.h
+image-colorspace.64.o: image-colorspace.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
+image-colorspace.64.o: image-colorspace.c  ../cups/http.h ../cups/language.h ../cups/array.h
+image-colorspace.64.o: image-colorspace.c  ../cups/ppd.h ../cups/cups.h ../cups/debug-private.h
 image-colorspace.64.o: image-colorspace.c  ../cups/string-private.h ../config.h
 image-gif.64.o: image-gif.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-gif.64.o: image-gif.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-gif.64.o: image-gif.c  ../cups/array.h ../cups/file.h ../cups/language.h
+image-gif.64.o: image-gif.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+image-gif.64.o: image-gif.c  ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 image-gif.64.o: image-gif.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
 image-jpeg.64.o: image-jpeg.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-jpeg.64.o: image-jpeg.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-jpeg.64.o: image-jpeg.c  ../cups/array.h ../cups/file.h ../cups/language.h
-image-jpeg.64.o: image-jpeg.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
+image-jpeg.64.o: image-jpeg.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
+image-jpeg.64.o: image-jpeg.c  ../cups/http.h ../cups/language.h ../cups/array.h ../cups/ppd.h
+image-jpeg.64.o: image-jpeg.c  ../cups/cups.h ../cups/debug-private.h ../cups/string-private.h
+image-jpeg.64.o: image-jpeg.c  ../config.h
 image-photocd.64.o: image-photocd.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-photocd.64.o: image-photocd.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h
-image-photocd.64.o: image-photocd.c  ../cups/ppd.h ../cups/array.h ../cups/file.h
-image-photocd.64.o: image-photocd.c  ../cups/language.h ../cups/debug-private.h
+image-photocd.64.o: image-photocd.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
+image-photocd.64.o: image-photocd.c  ../cups/http.h ../cups/language.h ../cups/array.h
+image-photocd.64.o: image-photocd.c  ../cups/ppd.h ../cups/cups.h ../cups/debug-private.h
 image-photocd.64.o: image-photocd.c  ../cups/string-private.h ../config.h
 image-pix.64.o: image-pix.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-pix.64.o: image-pix.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-pix.64.o: image-pix.c  ../cups/array.h ../cups/file.h ../cups/language.h
+image-pix.64.o: image-pix.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+image-pix.64.o: image-pix.c  ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 image-pix.64.o: image-pix.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
 image-png.64.o: image-png.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-png.64.o: image-png.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-png.64.o: image-png.c  ../cups/array.h ../cups/file.h ../cups/language.h
+image-png.64.o: image-png.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+image-png.64.o: image-png.c  ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 image-png.64.o: image-png.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
 image-pnm.64.o: image-pnm.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-pnm.64.o: image-pnm.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-pnm.64.o: image-pnm.c  ../cups/array.h ../cups/file.h ../cups/language.h
+image-pnm.64.o: image-pnm.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+image-pnm.64.o: image-pnm.c  ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 image-pnm.64.o: image-pnm.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
 image-sgi.64.o: image-sgi.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-sgi.64.o: image-sgi.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-sgi.64.o: image-sgi.c  ../cups/array.h ../cups/file.h ../cups/language.h
+image-sgi.64.o: image-sgi.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+image-sgi.64.o: image-sgi.c  ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 image-sgi.64.o: image-sgi.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
 image-sgi.64.o: image-sgi.c  image-sgi.h
 image-sgilib.64.o: image-sgilib.c  image-sgi.h
 image-sun.64.o: image-sun.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-sun.64.o: image-sun.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-sun.64.o: image-sun.c  ../cups/array.h ../cups/file.h ../cups/language.h
+image-sun.64.o: image-sun.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+image-sun.64.o: image-sun.c  ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 image-sun.64.o: image-sun.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
 image-tiff.64.o: image-tiff.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-tiff.64.o: image-tiff.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-tiff.64.o: image-tiff.c  ../cups/array.h ../cups/file.h ../cups/language.h
-image-tiff.64.o: image-tiff.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
+image-tiff.64.o: image-tiff.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
+image-tiff.64.o: image-tiff.c  ../cups/http.h ../cups/language.h ../cups/array.h ../cups/ppd.h
+image-tiff.64.o: image-tiff.c  ../cups/cups.h ../cups/debug-private.h ../cups/string-private.h
+image-tiff.64.o: image-tiff.c  ../config.h
 image-zoom.64.o: image-zoom.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image-zoom.64.o: image-zoom.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image-zoom.64.o: image-zoom.c  ../cups/array.h ../cups/file.h ../cups/language.h
-image-zoom.64.o: image-zoom.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
+image-zoom.64.o: image-zoom.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
+image-zoom.64.o: image-zoom.c  ../cups/http.h ../cups/language.h ../cups/array.h ../cups/ppd.h
+image-zoom.64.o: image-zoom.c  ../cups/cups.h ../cups/debug-private.h ../cups/string-private.h
+image-zoom.64.o: image-zoom.c  ../config.h
 image.64.o: image.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-image.64.o: image.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-image.64.o: image.c  ../cups/array.h ../cups/file.h ../cups/language.h
+image.64.o: image.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+image.64.o: image.c  ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 image.64.o: image.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
 error.64.o: error.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-error.64.o: error.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-error.64.o: error.c  ../cups/array.h ../cups/file.h ../cups/language.h
+error.64.o: error.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+error.64.o: error.c  ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 error.64.o: error.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
 interpret.64.o: interpret.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-interpret.64.o: interpret.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-interpret.64.o: interpret.c  ../cups/array.h ../cups/file.h ../cups/language.h
+interpret.64.o: interpret.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+interpret.64.o: interpret.c  ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 interpret.64.o: interpret.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
 raster.64.o: raster.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-raster.64.o: raster.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-raster.64.o: raster.c  ../cups/array.h ../cups/file.h ../cups/language.h
+raster.64.o: raster.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+raster.64.o: raster.c  ../cups/language.h ../cups/array.h ../cups/ppd.h ../cups/cups.h
 raster.64.o: raster.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
 bannertops.64.o: bannertops.c  pstext.h common.h ../cups/string-private.h ../config.h
-bannertops.64.o: bannertops.c  ../cups/cups.h ../cups/ipp.h ../cups/http.h
-bannertops.64.o: bannertops.c  ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-bannertops.64.o: bannertops.c  ../cups/file.h ../cups/language.h ../cups/language.h
-bannertops.64.o: bannertops.c  ../cups/transcode.h image.h ../cups/raster.h
-bannertops.64.o: bannertops.c  ../cups/language-private.h
-commandtops.64.o: commandtops.c  ../cups/cups.h ../cups/ipp.h ../cups/http.h
-commandtops.64.o: commandtops.c  ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-commandtops.64.o: commandtops.c  ../cups/file.h ../cups/language.h ../cups/string-private.h
+bannertops.64.o: bannertops.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+bannertops.64.o: bannertops.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+bannertops.64.o: bannertops.c  ../cups/language.h ../cups/array.h ../cups/transcode.h image.h
+bannertops.64.o: bannertops.c  ../cups/raster.h ../cups/ppd.h ../cups/language-private.h
+commandtops.64.o: commandtops.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+commandtops.64.o: commandtops.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+commandtops.64.o: commandtops.c  ../cups/language.h ../cups/array.h ../cups/string-private.h
 commandtops.64.o: commandtops.c  ../config.h ../cups/sidechannel.h
-gziptoany.64.o: gziptoany.c  ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-gziptoany.64.o: gziptoany.c  ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-gziptoany.64.o: gziptoany.c  ../cups/array.h ../cups/file.h ../cups/language.h
-gziptoany.64.o: gziptoany.c  ../cups/string-private.h ../config.h ../cups/debug-private.h
-gziptoany.64.o: gziptoany.c  ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-gziptoany.64.o: gziptoany.c  ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-gziptoany.64.o: gziptoany.c  ../cups/transcode.h ../cups/pwg-private.h
+gziptoany.64.o: gziptoany.c  ../cups/cups-private.h ../cups/cups.h ../cups/string-private.h
+gziptoany.64.o: gziptoany.c  ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+gziptoany.64.o: gziptoany.c  ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+gziptoany.64.o: gziptoany.c  ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+gziptoany.64.o: gziptoany.c  ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+gziptoany.64.o: gziptoany.c  ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+gziptoany.64.o: gziptoany.c  ../cups/language-private.h ../cups/transcode.h
 imagetops.64.o: imagetops.c  common.h ../cups/string-private.h ../config.h ../cups/cups.h
-imagetops.64.o: imagetops.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-imagetops.64.o: imagetops.c  ../cups/array.h ../cups/file.h ../cups/language.h
-imagetops.64.o: imagetops.c  ../cups/language.h image.h ../cups/raster.h
+imagetops.64.o: imagetops.c  ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+imagetops.64.o: imagetops.c  ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+imagetops.64.o: imagetops.c  image.h ../cups/raster.h ../cups/ppd.h
 imagetoraster.64.o: imagetoraster.c  common.h ../cups/string-private.h ../config.h ../cups/cups.h
-imagetoraster.64.o: imagetoraster.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h
-imagetoraster.64.o: imagetoraster.c  ../cups/ppd.h ../cups/array.h ../cups/file.h
-imagetoraster.64.o: imagetoraster.c  ../cups/language.h ../cups/language.h image-private.h
-imagetoraster.64.o: imagetoraster.c  image.h ../cups/raster.h ../cups/debug-private.h
+imagetoraster.64.o: imagetoraster.c  ../cups/ppd.h ../cups/cups.h ../cups/file.h
+imagetoraster.64.o: imagetoraster.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+imagetoraster.64.o: imagetoraster.c  ../cups/language.h ../cups/array.h image-private.h image.h
+imagetoraster.64.o: imagetoraster.c  ../cups/raster.h ../cups/ppd.h ../cups/debug-private.h
 common.64.o: common.c  common.h ../cups/string-private.h ../config.h ../cups/cups.h
-common.64.o: common.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-common.64.o: common.c  ../cups/array.h ../cups/file.h ../cups/language.h
-common.64.o: common.c  ../cups/language.h
-pdftops.64.o: pdftops.c  ../cups/cups.h ../cups/ipp.h ../cups/http.h ../cups/versioning.h
-pdftops.64.o: pdftops.c  ../cups/ppd.h ../cups/array.h ../cups/file.h ../cups/language.h
+common.64.o: common.c  ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+common.64.o: common.c  ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+pdftops.64.o: pdftops.c  ../cups/cups.h
 pstext.64.o: pstext.c  pstext.h common.h ../cups/string-private.h ../config.h
-pstext.64.o: pstext.c  ../cups/cups.h ../cups/ipp.h ../cups/http.h ../cups/versioning.h
-pstext.64.o: pstext.c  ../cups/ppd.h ../cups/array.h ../cups/file.h ../cups/language.h
-pstext.64.o: pstext.c  ../cups/language.h ../cups/transcode.h ../cups/language-private.h
+pstext.64.o: pstext.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+pstext.64.o: pstext.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+pstext.64.o: pstext.c  ../cups/language.h ../cups/array.h ../cups/transcode.h
+pstext.64.o: pstext.c  ../cups/language-private.h
 pstops.64.o: pstops.c  common.h ../cups/string-private.h ../config.h ../cups/cups.h
-pstops.64.o: pstops.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-pstops.64.o: pstops.c  ../cups/array.h ../cups/file.h ../cups/language.h
-pstops.64.o: pstops.c  ../cups/language.h ../cups/file.h ../cups/array.h
-pstops.64.o: pstops.c  ../cups/language-private.h ../cups/transcode.h
-rasterbench.64.o: rasterbench.c  ../config.h ../cups/raster.h ../cups/cups.h ../cups/ipp.h
-rasterbench.64.o: rasterbench.c  ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-rasterbench.64.o: rasterbench.c  ../cups/array.h ../cups/file.h ../cups/language.h
-rastertoepson.64.o: rastertoepson.c  ../cups/cups.h ../cups/ipp.h ../cups/http.h
-rastertoepson.64.o: rastertoepson.c  ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-rastertoepson.64.o: rastertoepson.c  ../cups/file.h ../cups/language.h ../cups/ppd.h
-rastertoepson.64.o: rastertoepson.c  ../cups/string-private.h ../config.h
-rastertoepson.64.o: rastertoepson.c  ../cups/language-private.h ../cups/transcode.h
-rastertoepson.64.o: rastertoepson.c  ../cups/raster.h
-rastertohp.64.o: rastertohp.c  ../cups/cups.h ../cups/ipp.h ../cups/http.h
-rastertohp.64.o: rastertohp.c  ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-rastertohp.64.o: rastertohp.c  ../cups/file.h ../cups/language.h ../cups/string-private.h
+pstops.64.o: pstops.c  ../cups/ppd.h ../cups/cups.h ../cups/file.h ../cups/versioning.h
+pstops.64.o: pstops.c  ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+pstops.64.o: pstops.c  ../cups/file.h ../cups/array.h ../cups/language-private.h
+pstops.64.o: pstops.c  ../cups/transcode.h
+rasterbench.64.o: rasterbench.c  ../config.h ../cups/raster.h ../cups/cups.h ../cups/file.h
+rasterbench.64.o: rasterbench.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+rasterbench.64.o: rasterbench.c  ../cups/language.h ../cups/array.h ../cups/ppd.h
+rastertoepson.64.o: rastertoepson.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+rastertoepson.64.o: rastertoepson.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+rastertoepson.64.o: rastertoepson.c  ../cups/language.h ../cups/array.h ../cups/string-private.h
+rastertoepson.64.o: rastertoepson.c  ../config.h ../cups/language-private.h ../cups/transcode.h
+rastertoepson.64.o: rastertoepson.c  ../cups/raster.h ../cups/ppd.h
+rastertohp.64.o: rastertohp.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+rastertohp.64.o: rastertohp.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+rastertohp.64.o: rastertohp.c  ../cups/language.h ../cups/array.h ../cups/string-private.h
 rastertohp.64.o: rastertohp.c  ../config.h ../cups/language-private.h ../cups/transcode.h
-rastertohp.64.o: rastertohp.c  ../cups/raster.h
-rastertolabel.64.o: rastertolabel.c  ../cups/cups.h ../cups/ipp.h ../cups/http.h
-rastertolabel.64.o: rastertolabel.c  ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-rastertolabel.64.o: rastertolabel.c  ../cups/file.h ../cups/language.h ../cups/string-private.h
+rastertohp.64.o: rastertohp.c  ../cups/raster.h ../cups/ppd.h
+rastertolabel.64.o: rastertolabel.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+rastertolabel.64.o: rastertolabel.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+rastertolabel.64.o: rastertolabel.c  ../cups/language.h ../cups/array.h ../cups/string-private.h
 rastertolabel.64.o: rastertolabel.c  ../config.h ../cups/language-private.h ../cups/transcode.h
-rastertolabel.64.o: rastertolabel.c  ../cups/raster.h
-testimage.64.o: testimage.c  image.h ../cups/raster.h ../cups/cups.h ../cups/ipp.h
-testimage.64.o: testimage.c  ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-testimage.64.o: testimage.c  ../cups/array.h ../cups/file.h ../cups/language.h
+rastertolabel.64.o: rastertolabel.c  ../cups/raster.h ../cups/ppd.h
+testimage.64.o: testimage.c  image.h ../cups/raster.h ../cups/cups.h ../cups/file.h
+testimage.64.o: testimage.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+testimage.64.o: testimage.c  ../cups/language.h ../cups/array.h ../cups/ppd.h
 testraster.64.o: testraster.c  image-private.h image.h ../cups/raster.h ../cups/cups.h
-testraster.64.o: testraster.c  ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-testraster.64.o: testraster.c  ../cups/array.h ../cups/file.h ../cups/language.h
-testraster.64.o: testraster.c  ../cups/debug-private.h ../cups/string-private.h ../config.h
+testraster.64.o: testraster.c  ../cups/file.h ../cups/versioning.h ../cups/ipp.h
+testraster.64.o: testraster.c  ../cups/http.h ../cups/language.h ../cups/array.h ../cups/ppd.h
+testraster.64.o: testraster.c  ../cups/cups.h ../cups/debug-private.h ../cups/string-private.h
+testraster.64.o: testraster.c  ../config.h
 textcommon.64.o: textcommon.c  textcommon.h common.h ../cups/string-private.h ../config.h
-textcommon.64.o: textcommon.c  ../cups/cups.h ../cups/ipp.h ../cups/http.h
-textcommon.64.o: textcommon.c  ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-textcommon.64.o: textcommon.c  ../cups/file.h ../cups/language.h ../cups/language.h
-textcommon.64.o: textcommon.c  ../cups/language-private.h ../cups/transcode.h
+textcommon.64.o: textcommon.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+textcommon.64.o: textcommon.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+textcommon.64.o: textcommon.c  ../cups/language.h ../cups/array.h ../cups/language-private.h
+textcommon.64.o: textcommon.c  ../cups/transcode.h
 texttops.64.o: texttops.c  textcommon.h common.h ../cups/string-private.h ../config.h
-texttops.64.o: texttops.c  ../cups/cups.h ../cups/ipp.h ../cups/http.h ../cups/versioning.h
-texttops.64.o: texttops.c  ../cups/ppd.h ../cups/array.h ../cups/file.h ../cups/language.h
-texttops.64.o: texttops.c  ../cups/language.h ../cups/language-private.h ../cups/transcode.h
+texttops.64.o: texttops.c  ../cups/cups.h ../cups/ppd.h ../cups/cups.h ../cups/file.h
+texttops.64.o: texttops.c  ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+texttops.64.o: texttops.c  ../cups/language.h ../cups/array.h ../cups/language-private.h
+texttops.64.o: texttops.c  ../cups/transcode.h
index ebbf13732afcbf7f04b86feecfd672605d855c2c..deab27e2b510de463bec9630bcfaff93f1c7f47f 100644 (file)
@@ -28,6 +28,7 @@
  */
 
 #include <cups/cups.h>
+#include <cups/ppd.h>
 #include <cups/string-private.h>
 #include <cups/sidechannel.h>
 
index dabf75152af44ade2ca6522d4856b4926aa7b6f0..3501085afdc46d850f2a48ae74c6da9fdaacbe3c 100644 (file)
@@ -21,7 +21,7 @@
 
 #include <cups/string-private.h>
 #include <cups/cups.h>
-#include <cups/language.h>
+#include <cups/ppd.h>
 #include <time.h>
 
 
index b61eb7722c7011ab2fab7237f494d6ff849fd26f..01a921f37b36dc60dfb2ea794ea2b83d81373ec6 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: imagetops.c 6649 2007-07-11 21:46:42Z mike $"
  *
- *   Image file to PostScript filter for the Common UNIX Printing System (CUPS).
+ *   Image file to PostScript filter for CUPS.
  *
- *   Copyright 2007-2009 by Apple Inc.
+ *   Copyright 2007-2010 by Apple Inc.
  *   Copyright 1993-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -28,7 +28,7 @@
 #include "common.h"
 #include "image.h"
 #include <math.h>
-#include <cups/i18n.h>
+#include <cups/language-private.h>
 
 
 /*
@@ -338,7 +338,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
    /*
     * Scale the image as neccesary to match the desired pixels-per-inch.
     */
-    
+
     if (Orientation & 1)
     {
       xprint = (PageTop - PageBottom) / 72.0;
index 6d07e031fbe1a2a5d8e1c57360d47904eadb50ae..a367b28f4edf601ad76ccab3bcf84288b7b5af28 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: imagetoraster.c 7306 2008-02-15 00:52:38Z mike $"
  *
- *   Image file to raster filter for the Common UNIX Printing System (CUPS).
+ *   Image file to raster filter for CUPS.
  *
- *   Copyright 2007-2009 by Apple Inc.
+ *   Copyright 2007-2010 by Apple Inc.
  *   Copyright 1993-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -39,7 +39,7 @@
 #include "image-private.h"
 #include <unistd.h>
 #include <math.h>
-#include <cups/i18n.h>
+#include <cups/language-private.h>
 
 
 /*
@@ -658,7 +658,7 @@ main(int  argc,                             /* I - Number of command-line arguments */
    /*
     * Scale the image as neccesary to match the desired pixels-per-inch.
     */
-    
+
     if (Orientation & 1)
     {
       xprint = (PageTop - PageBottom) / 72.0;
index 221aeb760b03c312730522702f1e949071b47f3e..d72fcf0c7d21b673cdd036c9b8a54b550d8adcaa 100644 (file)
@@ -1,10 +1,9 @@
 /*
  * "$Id$"
  *
- *   PDF to PostScript filter front-end for the Common UNIX Printing
- *   System (CUPS).
+ *   PDF to PostScript filter front-end for CUPS.
  *
- *   Copyright 2007-2009 by Apple Inc.
+ *   Copyright 2007-2010 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -24,8 +23,8 @@
  */
 
 #include <cups/cups.h>
-#include <cups/string.h>
-#include <cups/i18n.h>
+#include <cups/string-private.h>
+#include <cups/language-private.h>
 #include <signal.h>
 #include <sys/wait.h>
 #include <errno.h>
@@ -524,7 +523,7 @@ main(int  argc,                             /* I - Number of command-line args */
        exit_status = WEXITSTATUS(wait_status);
 
         fprintf(stderr, "DEBUG: PID %d (%s) stopped with status %d!\n",
-               wait_pid,               
+               wait_pid,
 #ifdef HAVE_PDFTOPS
                 wait_pid == pdf_pid ? "pdftops" : "pstops",
 #else
@@ -536,7 +535,7 @@ main(int  argc,                             /* I - Number of command-line args */
       {
         fprintf(stderr,
                "DEBUG: PID %d (%s) was terminated normally with signal %d!\n",
-               wait_pid,               
+               wait_pid,
 #ifdef HAVE_PDFTOPS
                 wait_pid == pdf_pid ? "pdftops" : "pstops",
 #else
@@ -548,7 +547,7 @@ main(int  argc,                             /* I - Number of command-line args */
       {
        exit_status = WTERMSIG(wait_status);
 
-        fprintf(stderr, "DEBUG: PID %d (%s) crashed on signal %d!\n", wait_pid,                
+        fprintf(stderr, "DEBUG: PID %d (%s) crashed on signal %d!\n", wait_pid,
 #ifdef HAVE_PDFTOPS
                 wait_pid == pdf_pid ? "pdftops" : "pstops",
 #else
@@ -559,7 +558,7 @@ main(int  argc,                             /* I - Number of command-line args */
     }
     else
     {
-      fprintf(stderr, "DEBUG: PID %d (%s) exited with no errors.\n", wait_pid,         
+      fprintf(stderr, "DEBUG: PID %d (%s) exited with no errors.\n", wait_pid,
 #ifdef HAVE_PDFTOPS
              wait_pid == pdf_pid ? "pdftops" : "pstops");
 #else
index 1192d78482b0e3afabb518ce0b175e5ec0a344ad..059a2e01047a0e2bd00ac989567b85874d73f842 100644 (file)
@@ -31,6 +31,7 @@
  */
 
 #include <cups/cups.h>
+#include <cups/ppd.h>
 #include <cups/string-private.h>
 #include <cups/language-private.h>
 #include <cups/raster.h>
index dd9420c64b1121e56c8ba87914af932a8e473277..e69008917a88b2bccffa0da531e4274d63f0a638 100644 (file)
@@ -31,6 +31,7 @@
  */
 
 #include <cups/cups.h>
+#include <cups/ppd.h>
 #include <cups/string-private.h>
 #include <cups/language-private.h>
 #include <cups/raster.h>
@@ -1057,8 +1058,8 @@ ZPLCompress(char repeat_char,             /* I - Character to repeat */
   {
    /*
     * Print as many z's as possible - they are the largest denomination
-    * representing 400 characters (zC stands for 400 adjacent C's)     
-    */ 
+    * representing 400 characters (zC stands for 400 adjacent C's)
+    */
 
     while (repeat_count >= 400)
     {
index bb1911fe02a8097476f207167013044e3ca3852e..748a12ff0f3e94c156292f529b5ae3a9c3fb1525 100644 (file)
@@ -1,23 +1,26 @@
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-checkpo.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-checkpo.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-checkpo.o: ../cups/language.h ../cups/string-private.h ../config.h
-checkpo.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-checkpo.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-checkpo.o: ../cups/language-private.h ../cups/transcode.h
-checkpo.o: ../cups/pwg-private.h
-po2strings.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-po2strings.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-po2strings.o: ../cups/array.h ../cups/file.h ../cups/language.h
-po2strings.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
+checkpo.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+checkpo.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+checkpo.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+checkpo.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+checkpo.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+checkpo.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+checkpo.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+checkpo.o: ../cups/transcode.h
+po2strings.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+po2strings.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+po2strings.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+po2strings.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+po2strings.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
 po2strings.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
 po2strings.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-po2strings.o: ../cups/transcode.h ../cups/pwg-private.h
-translate.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-translate.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-translate.o: ../cups/array.h ../cups/file.h ../cups/language.h
-translate.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
+po2strings.o: ../cups/transcode.h
+translate.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+translate.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+translate.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+translate.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+translate.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
 translate.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
 translate.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-translate.o: ../cups/transcode.h ../cups/pwg-private.h
+translate.o: ../cups/transcode.h
index 9e489b3a2422c0798afd5b9b35ac9a11c35ec9f0..12dd67510ce38e8eb3d11ae24d739d2598fb2e7f 100644 (file)
@@ -1,7 +1,7 @@
 #
 # "$Id: Makefile 7930 2008-09-10 22:25:54Z mike $"
 #
-#   Man page makefile for the Common UNIX Printing System (CUPS).
+#   Man page makefile for CUPS.
 #
 #   Copyright 2007-2010 by Apple Inc.
 #   Copyright 1993-2006 by Easy Software Products.
@@ -24,7 +24,7 @@ MAN1  =       cancel.$(MAN1EXT) \
                cups-config.$(MAN1EXT) \
                cupstestdsc.$(MAN1EXT) \
                cupstestppd.$(MAN1EXT) \
-               ipptest.$(MAN1EXT) \
+               ipptool.$(MAN1EXT) \
                lp.$(MAN1EXT) \
                lpoptions.$(MAN1EXT) \
                lppasswd.$(MAN1EXT) \
@@ -41,7 +41,7 @@ MAN5  =       classes.conf.$(MAN5EXT) \
                client.conf.$(MAN5EXT) \
                cups-snmp.conf.$(MAN5EXT) \
                cupsd.conf.$(MAN5EXT) \
-               ipp.test.$(MAN5EXT) \
+               ipptoolfile.$(MAN5EXT) \
                mailto.conf.$(MAN5EXT) \
                mime.convs.$(MAN5EXT) \
                mime.types.$(MAN5EXT) \
diff --git a/man/ipptest.man b/man/ipptest.man
deleted file mode 100644 (file)
index 2d14676..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-.\"
-.\" "$Id$"
-.\"
-.\"   ipptest man page for CUPS.
-.\"
-.\"   Copyright 2010 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 ipptest 1 "CUPS" "15 February 2010" "Apple Inc."
-.SH NAME
-ipptest - perform internet printing protocol tests
-.SH SYNOPSIS
-.B ipptest
-[ -E ] [ -V
-.I version
-] [ -X ] [ -c ] [ -d
-.I name=value
-] [ -f
-.I filename
-] [ -i
-.I seconds
-] [ -l ] [ -v ] 
-.I URI
-.I filename.test
-[
-.I ... filenameN.test
-]
-.SH DESCRIPTION
-\fIipptest\fR sends IPP requests to the specified URI and tests the results.
-Each test file contains one or more test requests, including the expected
-response status, attributes, and values.  Output is either a plain text or XML
-report on the standard output, with a non-zero exit status indicating that one
-or more tests have failed. The test file format is described in
-\fIipp.test(5)\fR.
-.SH OPTIONS
-The following options are recognized by \fIipptest\fR:
-.TP 5
--E
-Forces encryption when connecting to the server.
-.TP 5
--V version
-Specifies the default IPP version to use: 1.0, 1.1, 2.0, 2.1, or 2.2. If not
-specified, version 1.1 is used.
-.TP 5
--X
-Specifies that XML (Apple plist) output is desired instead of the plain text
-report. This option is incompatible with the \fI-i\fR (interval) option.
-.TP 5
--c
-Specifies that requests should be sent using the HTTP/1.1 "Transfer-Encoding:
-chunked" header, which is required for conformance by all versions of IPP. The
-default is to use "Transfer-Encoding: chunked" for requests with attached files
-and "Content-Length:" for requests without attached files.
-.TP 5
--d name=value
-Defines the named variable.
-.TP 5
--f filename
-Defines the default request filename for tests.
-.TP 5
--i seconds
-Specifies that the (last) test should be repeated at the specified interval.
-This option is incompatible with the \fI-X\fR (XML output) option.
-.TP 5
--l
-Specifies that requests should be sent using the HTTP/1.0 "Content-Length:"
-header, which is required for conformance by all versions of IPP. The
-default is to use "Transfer-Encoding: chunked" for requests with attached files
-and "Content-Length:" for requests without attached files.
-.TP 5
--v
-Specifies that all request and response attributes should be output. This is the
-default for XML output.
-.SH COMPATIBILITY
-The \fIipptest\fR program is unique to CUPS.
-.SH SEE ALSO
-\fIipp.test(5)\fR,
-.br
-http://localhost:631/help
-.SH COPYRIGHT
-Copyright 2007-2010 by Apple Inc.
-.\"
-.\" End of "$Id$".
-.\"
diff --git a/man/ipptool.man b/man/ipptool.man
new file mode 100644 (file)
index 0000000..89dbf3d
--- /dev/null
@@ -0,0 +1,116 @@
+.\"
+.\" "$Id$"
+.\"
+.\"   ipptool man page for CUPS.
+.\"
+.\"   Copyright 2010 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 ipptool 1 "CUPS" "6 April 2010" "Apple Inc."
+.SH NAME
+ipptool - perform internet printing protocol requests
+.SH SYNOPSIS
+.B ipptool
+[ -C ] [ -E ] [ -L ] [ -S ] [ -V
+.I version
+] [ -X ] [ -c ] [ -d
+.I name=value
+] [ -f
+.I filename
+] [ -i
+.I seconds
+] [ -n
+.I repeat-count
+] [ -q ] [ -t ] [ -v ]
+.I URI
+.I filename
+[
+.I ... filenameN
+]
+.SH DESCRIPTION
+\fIipptool\fR sends IPP requests to the specified URI and tests and/or displays the results. Each named file defines one or more requests, including the expected response status, attributes, and values. Output is either a plain text, formatted text, CSV, or XML report on the standard output, with a non-zero exit status indicating that one or more tests have failed. The file format is described in \fIipptoolfile(5)\fR.
+.SH OPTIONS
+The following options are recognized by \fIipptool\fR:
+.TP 5
+-C
+Specifies that requests should be sent using the HTTP/1.1 "Transfer-Encoding: chunked" header, which is required for conformance by all versions of IPP. The default is to use "Transfer-Encoding: chunked" for requests with attached files and "Content-Length:" for requests without attached files.
+.TP 5
+-E
+Forces TLS encryption when connecting to the server using the HTTP "Upgrade" header.
+.TP 5
+-L
+Specifies that requests should be sent using the HTTP/1.0 "Content-Length:" header, which is required for conformance by all versions of IPP. The default is to use "Transfer-Encoding: chunked" for requests with attached files and "Content-Length:" for requests without attached files.
+.TP 5
+-S
+Forces (dedicated) SSL encryption when connecting to the server.
+.TP 5
+-V version
+Specifies the default IPP version to use: 1.0, 1.1, 2.0, 2.1, or 2.2. If not specified, version 1.1 is used.
+.TP 5
+-X
+Specifies that XML (Apple plist) output is desired instead of the plain text report. This option is incompatible with the \fI-i\fR (interval) and \fI-n\fR (repeat-count) options.
+.TP 5
+-c
+Specifies that CSV (comma-separated values) output is desired instead of the plain text output.
+.TP 5
+-d name=value
+Defines the named variable.
+.TP 5
+-f filename
+Defines the default request filename for tests.
+.TP 5
+-i seconds
+Specifies that the (last) file should be repeated at the specified interval. This option is incompatible with the \fI-x\fR (XML plist output) option.
+.TP 5
+-l
+Specifies that plain text output is desired.
+.TP 5
+-n repeat-count
+Specifies that the (last) file should be repeated the specified number of times. This option is incompatible with the \fI-X\fR (XML plist output) option.
+.TP 5
+-t
+Specifies that CUPS test report output is desired instead of the plain text output.
+.TP 5
+-v
+Specifies that all request and response attributes should be output in CUPS test mode (\fI-t\fR). This is the default for XML output.
+.SH COMPATIBILITY
+The \fIipptool\fR program is unique to CUPS.
+.SH EXAMPLES
+Get a list of completed jobs for "myprinter":
+.nf
+    ipptool ipp://localhost/printers/myprinter get-completed-jobs.test
+.fi
+.LP
+Send email notifications to "user@example.com" when "myprinter" changes:
+.nf
+    ipptool -d recipient=mailto:user@example.com \
+        ipp://localhost/printers/myprinter create-printer-subscription.test
+.fi
+.SH STANDARD FILES
+The following standard files are available:
+.nf
+    create-printer-subscription.test
+    get-completed-jobs.test
+    get-jobs.test
+    ipp-1.1.test
+    ipp-2.0.test
+    ipp-2.1.test
+    testfile.jpg
+    testfile.pdf
+    testfile.ps
+    testfile.txt
+.fi
+.SH SEE ALSO
+\fIipptoolfile(5)\fR,
+.br
+http://localhost:631/help
+.SH COPYRIGHT
+Copyright 2007-2010 by Apple Inc.
+.\"
+.\" End of "$Id$".
+.\"
similarity index 89%
rename from man/ipp.test.man
rename to man/ipptoolfile.man
index 248719964010d8a755c51b3b4ebcfd0961ebd991..0f59b67ce983c48b52edafc22338253a4b39aeb3 100644 (file)
@@ -1,7 +1,7 @@
 .\"
 .\" "$Id$"
 .\"
-.\"   ipp.test man page for CUPS.
+.\"   ipptoolfile man page for CUPS.
 .\"
 .\"   Copyright 2010 by Apple Inc.
 .\"
 .\"   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 ipp.test 5 "CUPS" "23 February 2010" "Apple Inc."
+.TH ipptoolfile 5 "CUPS" "6 April 2010" "Apple Inc."
 .SH NAME
-ipp.test \- ipptest test file format
+ipptoolfile \- ipptool file format
 
 .SH DESCRIPTION
-The \fIipptest(1)\fR program accepts free-form plain text files that describe
-one or more IPP operation tests. Comments start with the "#" character and
-continue to the end of the line. Each test is enclosed by curley braces, for
-example:
+The \fIipptool(1)\fR program accepts free-form plain text files that describe one or more IPP requests. Comments start with the "#" character and continue to the end of the line. Each request is enclosed by curley braces, for example:
 .nf
 
     # This is a comment
@@ -29,7 +26,7 @@ example:
 
       # The request to send
       OPERATION Print-Job
-      GROUP operation
+      GROUP operation-attributes-tag
       ATTR charset attributes-charset utf-8
       ATTR language attributes-natural-language en
       ATTR uri printer-uri $uri
@@ -49,7 +46,7 @@ example:
 
       # The request to send
       OPERATION Get-Job-Attributes
-      GROUP operation
+      GROUP operation-attributes-tag
       ATTR charset attributes-charset utf-8
       ATTR language attributes-natural-language en
       ATTR uri printer-uri $uri
@@ -75,13 +72,13 @@ Defines a test.
 .TP 5
 DEFINE variable-name value
 Defines the named variable to the given value. This is equivalent to specifying
-"-d variable-name=value" on the \fIipptest\fR command-line.
+"-d variable-name=value" on the \fIipptool\fR command-line.
 .TP 5
 INCLUDE "filename"
 .TP 5
 INCLUDE <filename>
 Includes another test file. The first form includes a file relative to the
-current test file, while the second form includes a file from the \fIipptest\fR
+current test file, while the second form includes a file from the \fIipptool\fR
 include directory.
 .TP 5
 TRANSFER auto
@@ -92,12 +89,12 @@ files.
 TRANSFER chunked
 Specifies that tests will, by default, use the HTTP/1.1 "Transfer-Encoding:
 chunked" header. This is the default and is equivalent to specifying "-c" on the
-\fIipptest\fR command-line. Support for chunked requests is required for
+\fIipptool\fR command-line. Support for chunked requests is required for
 conformance with all versions of IPP.
 .TP 5
 TRANSFER length
 Specifies that tests will, by default, use the HTTP/1.0 "Content-Length:"
-header. This is equivalent to specifying "-l" on the \fIipptest\fR command-line.
+header. This is equivalent to specifying "-l" on the \fIipptool\fR command-line.
 Support for content length requests is required for conformance with all
 versions of IPP.
 .TP 5
@@ -161,7 +158,7 @@ word "random" to use a randomly generated value (the default).
 .TP 5
 RESOURCE path
 Specifies an alternate resource path that is used for the HTTP POST request.
-The default is the resource from the URI provided to the \fIipptest\fR program.
+The default is the resource from the URI provided to the \fIipptool\fR program.
 .TP 5
 STATUS status-code [ predicate ]
 Specifies an expected response status-code value. Additional requirements can be
@@ -232,8 +229,8 @@ IF-UNDEFINED variable-name
 Makes the STATUS apply only if the specified variable is not defined.
 
 .SH OPERATION CODES
-Operation codes correspond to the names from RFC 2911 and other IPP extension
-specifications. Here is a complete list:
+Operation codes correspond to the hexadecimal numbers (0xHHHH) and names from
+RFC 2911 and other IPP extension specifications. Here is a complete list:
 .nf
     Activate-Printer
     CUPS-Accept-Jobs
@@ -254,7 +251,10 @@ specifications. Here is a complete list:
     CUPS-Set-Default
     Cancel-Current-Job
     Cancel-Job
+    Cancel-Jobs
+    Cancel-My-Jobs
     Cancel-Subscription
+    Close-Job
     Create-Job
     Create-Job-Subscription
     Create-Printer-Subscription
@@ -283,6 +283,7 @@ specifications. Here is a complete list:
     Reprocess-Job
     Restart-Job
     Restart-Printer
+    Resubmit-Job
     Resume-Job
     Resume-Printer
     Schedule-Job-After
@@ -390,7 +391,7 @@ Here are the value tags:
 .fi
 
 .SH VARIABLES
-The \fIipptest\fR program maintains a list of variables that can be used in any
+The \fIipptool\fR program maintains a list of variables that can be used in any
 literal string or attribute value by specifying "$variable-name". Aside from
 variables defined using the "-d" option or "DEFINE" directive, the following
 pre-defined variables are available:
@@ -403,10 +404,10 @@ Inserts the value of the named environment variable, or an empty string if the
 environment variable is not defined.
 .TP 5
 $filename
-Inserts the filename provided to \fIipptest\fR with the "-f" option.
+Inserts the filename provided to \fIipptool\fR with the "-f" option.
 .TP 5
 $hostname
-Inserts the hostname from the URI provided to \fIipptest\fR.
+Inserts the hostname from the URI provided to \fIipptool\fR.
 .TP 5
 $job-id
 Inserts the last job-id value returned in a test response or 0 if no job-id has
@@ -417,29 +418,29 @@ Inserts the last job-uri value returned in a test response or an empty string if
 no job-uri has been seen.
 .TP 5
 $scheme
-Inserts the scheme from the URI provided to \fIipptest\fR.
+Inserts the scheme from the URI provided to \fIipptool\fR.
 .TP 5
 $notify-subscription-id
 Inserts the last notify-subscription-id value returnd in a test response or 0 if
 no notify-subscription-id has been seen.
 .TP 5
 $port
-Inserts the port number from the URI provided to \fIipptest\fR.
+Inserts the port number from the URI provided to \fIipptool\fR.
 .TP 5
 $resource
-Inserts the resource path from the URI provided to \fIipptest\fR.
+Inserts the resource path from the URI provided to \fIipptool\fR.
 .TP 5
 $uri
-Inserts the URI provided to \fIipptest\fR.
+Inserts the URI provided to \fIipptool\fR.
 .TP 5
 $user
 Inserts the current user's login name.
 .TP 5
 $username
-Inserts the username from the URI provided to \fIipptest\fR, if any.
+Inserts the username from the URI provided to \fIipptool\fR, if any.
 
 .SH SEE ALSO
-\fIipptest(1)\fR,
+\fIipptool(1)\fR,
 .br
 http://localhost:631/help
 
index 9411f3d4c78b256dd5d8646871fcd63d53bd262c..d5130c0b050f627d051cf6e1c089a6a13c100a6b 100644 (file)
@@ -1,8 +1,8 @@
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-bcp.o: ../cups/string-private.h ../config.h ../cups/cups.h ../cups/ipp.h
-bcp.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-bcp.o: ../cups/file.h ../cups/language.h
-tbcp.o: ../cups/string-private.h ../config.h ../cups/cups.h ../cups/ipp.h
-tbcp.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-tbcp.o: ../cups/file.h ../cups/language.h
+bcp.o: ../cups/string-private.h ../config.h ../cups/cups.h ../cups/file.h
+bcp.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/language.h
+bcp.o: ../cups/array.h ../cups/ppd.h ../cups/cups.h
+tbcp.o: ../cups/string-private.h ../config.h ../cups/cups.h ../cups/file.h
+tbcp.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/language.h
+tbcp.o: ../cups/array.h ../cups/ppd.h ../cups/cups.h
index 6fc24463b5b0201c12d5ed28bab1a8ee90885e56..06a48232e989723b48aef0c72fb5101cf5e0c4c4 100644 (file)
@@ -27,6 +27,7 @@
 
 #include <cups/string-private.h>
 #include <cups/cups.h>
+#include <cups/ppd.h>
 
 
 /*
index a8c532c8cbb4c2a081f36cfb45a889dba1196fe4..94cf7b692ba939168eed7cb308f07a4c32c15c1b 100644 (file)
@@ -27,6 +27,7 @@
 
 #include <cups/string-private.h>
 #include <cups/cups.h>
+#include <cups/ppd.h>
 
 
 /*
index fab93e3236c8c27403035d45722905b0169ac229..85597442d0b308f1e6858ee03afd8e3468cc48cd 100644 (file)
@@ -1,17 +1,15 @@
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-dbus.o: ../cups/cups.h ../cups/ipp.h ../cups/http.h ../cups/versioning.h
-dbus.o: ../cups/ppd.h ../cups/array.h ../cups/file.h ../cups/language.h
+dbus.o: ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h
+dbus.o: ../cups/http.h ../cups/language.h ../cups/array.h
 dbus.o: ../cups/string-private.h ../config.h
-mailto.o: ../cups/cups.h ../cups/ipp.h ../cups/http.h ../cups/versioning.h
-mailto.o: ../cups/ppd.h ../cups/array.h ../cups/file.h ../cups/language.h
+mailto.o: ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h
+mailto.o: ../cups/http.h ../cups/language.h ../cups/array.h
 mailto.o: ../cups/language-private.h ../cups/transcode.h
 mailto.o: ../cups/string-private.h ../config.h
-rss.o: ../cups/cups.h ../cups/ipp.h ../cups/http.h ../cups/versioning.h
-rss.o: ../cups/ppd.h ../cups/array.h ../cups/file.h ../cups/language.h
-rss.o: ../cups/language.h ../cups/string-private.h ../config.h
-rss.o: ../cups/array.h
-testnotify.o: ../cups/cups.h ../cups/ipp.h ../cups/http.h
-testnotify.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-testnotify.o: ../cups/file.h ../cups/language.h ../cups/language.h
-testnotify.o: ../cups/string-private.h ../config.h
+rss.o: ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h
+rss.o: ../cups/http.h ../cups/language.h ../cups/array.h ../cups/language.h
+rss.o: ../cups/string-private.h ../config.h ../cups/array.h
+testnotify.o: ../cups/cups.h ../cups/file.h ../cups/versioning.h
+testnotify.o: ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+testnotify.o: ../cups/language.h ../cups/string-private.h ../config.h
index adad41785aab52a5a2df7f15d9da01abccbbf447..2870c25030dda2b2d7144f00be58fd39234656e2 100644 (file)
@@ -349,7 +349,7 @@ d 0755 root sys $BINDIR -
 f 0555 root sys $BINDIR/cancel systemv/cancel
 f 0555 root sys $BINDIR/cupstestdsc systemv/cupstestdsc
 f 0555 root sys $BINDIR/cupstestppd systemv/cupstestppd
-f 0555 root sys $BINDIR/ipptest test/ipptest
+f 0555 root sys $BINDIR/ipptool test/ipptool
 f 0555 root sys $BINDIR/lp systemv/lp
 f 0555 root sys $BINDIR/lpoptions systemv/lpoptions
 f 0555 root sys $BINDIR/lppasswd systemv/lppasswd
@@ -515,9 +515,12 @@ f 0444 root sys $DATADIR/examples examples/*.drv
 d 0755 root sys $DATADIR/fonts -
 f 0444 root sys $DATADIR/fonts fonts/Monospace*
 
-d 0755 root sys $DATADIR/ipptest -
-f 0444 root sys $DATADIR/ipptest test/ipp-*.test
-f 0444 root sys $DATADIR/ipptest test/testfile.*
+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 test/ipp-*.test
+f 0444 root sys $DATADIR/ipptool test/testfile.*
 
 d 0755 root sys $DATADIR/mime -
 f 0444 root sys $DATADIR/mime/mime.convs conf/mime.convs
@@ -701,7 +704,7 @@ d 0755 root sys $MANDIR/man7 -
 f 0444 root sys $MANDIR/man1/cancel.$MAN1EXT man/cancel.$MAN1EXT
 f 0444 root sys $MANDIR/man1/cupstestdsc.$MAN1EXT man/cupstestdsc.$MAN1EXT
 f 0444 root sys $MANDIR/man1/cupstestppd.$MAN1EXT man/cupstestppd.$MAN1EXT
-f 0444 root sys $MANDIR/man1/ipptest.$MAN1EXT man/ipptest.$MAN1EXT
+f 0444 root sys $MANDIR/man1/ipptool.$MAN1EXT man/ipptool.$MAN1EXT
 f 0444 root sys $MANDIR/man1/lpoptions.$MAN1EXT man/lpoptions.$MAN1EXT
 f 0444 root sys $MANDIR/man1/lppasswd.$MAN1EXT man/lppasswd.$MAN1EXT
 f 0444 root sys $MANDIR/man1/lpq.$MAN1EXT man/lpq.$MAN1EXT
@@ -712,7 +715,7 @@ 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/cupsd.conf.$MAN5EXT man/cupsd.conf.$MAN5EXT
-f 0444 root sys $MANDIR/man5/ipp.test.$MAN5EXT man/ipp.test.$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
 f 0444 root sys $MANDIR/man5/mime.convs.$MAN5EXT man/mime.convs.$MAN5EXT
 f 0444 root sys $MANDIR/man5/mime.types.$MAN5EXT man/mime.types.$MAN5EXT
index 26d0ac8a19b2ffc55fc7d17c86f8ff0b473edb51..bd5411d7ec499da975fde87d2e66faeb65bc1e18 100644 (file)
@@ -185,7 +185,7 @@ rm -rf $RPM_BUILD_ROOT
 /usr/bin/cancel
 /usr/bin/cupstestdsc
 /usr/bin/cupstestppd
-/usr/bin/ipptest
+/usr/bin/ipptool
 /usr/bin/lp*
 %dir /usr/lib/cups
 %dir /usr/lib/cups/backend
@@ -226,8 +226,8 @@ rm -rf $RPM_BUILD_ROOT
 /usr/share/cups/drv/*
 %dir /usr/share/cups/fonts
 /usr/share/cups/fonts/*
-%dir /usr/share/cups/ipptest
-/usr/share/cups/ipptest/*
+%dir /usr/share/cups/ipptool
+/usr/share/cups/ipptool/*
 %dir /usr/share/cups/mime
 /usr/share/cups/mime/*
 %dir /usr/share/cups/model
@@ -276,7 +276,7 @@ rm -rf $RPM_BUILD_ROOT
 /usr/share/man/man1/cancel.1.gz
 /usr/share/man/man1/cupstestdsc.1.gz
 /usr/share/man/man1/cupstestppd.1.gz
-/usr/share/man/man1/ipptest.1.gz
+/usr/share/man/man1/ipptool.1.gz
 /usr/share/man/man1/lp.1.gz
 /usr/share/man/man1/lpoptions.1.gz
 /usr/share/man/man1/lppasswd.1.gz
@@ -286,7 +286,7 @@ rm -rf $RPM_BUILD_ROOT
 /usr/share/man/man1/lpstat.1.gz
 %dir /usr/share/man/man5
 /usr/share/man/man5/*.conf.5.gz
-/usr/share/man/man5/ipp.test.5.gz
+/usr/share/man/man5/ipptoolfile.5.gz
 /usr/share/man/man5/mime.*.5.gz
 %dir /usr/share/man/man7
 /usr/share/man/man7/drv*
index 9ffb5fdf8e006180ddf6d2e6279a199618e5596b..d5b07be19df4c9152859bdbb1eb1dd504dbe545a 100644 (file)
 # DO NOT DELETE
 
 ppdc-array.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-array.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-ppdc-array.o: ../cups/http.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-ppdc-array.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-array.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
+ppdc-array.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+ppdc-array.o: ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+ppdc-array.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
+ppdc-array.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+ppdc-array.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
 ppdc-array.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
 ppdc-array.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-array.o: ../cups/pwg-private.h
 ppdc-attr.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-attr.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-ppdc-attr.o: ../cups/http.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-ppdc-attr.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-attr.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
+ppdc-attr.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+ppdc-attr.o: ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+ppdc-attr.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
+ppdc-attr.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+ppdc-attr.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
 ppdc-attr.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
 ppdc-attr.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-attr.o: ../cups/pwg-private.h
 ppdc-catalog.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-catalog.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-ppdc-catalog.o: ../cups/http.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-ppdc-catalog.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-catalog.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-ppdc-catalog.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-catalog.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-catalog.o: ../cups/pwg-private.h
+ppdc-catalog.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+ppdc-catalog.o: ../cups/ipp.h ../cups/http.h ../cups/language.h
+ppdc-catalog.o: ../cups/array.h ../cups/string-private.h ../config.h
+ppdc-catalog.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+ppdc-catalog.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+ppdc-catalog.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+ppdc-catalog.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
 ppdc-choice.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-choice.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-ppdc-choice.o: ../cups/http.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-ppdc-choice.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-choice.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-ppdc-choice.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-choice.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-choice.o: ../cups/pwg-private.h
+ppdc-choice.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+ppdc-choice.o: ../cups/ipp.h ../cups/http.h ../cups/language.h
+ppdc-choice.o: ../cups/array.h ../cups/string-private.h ../config.h
+ppdc-choice.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+ppdc-choice.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+ppdc-choice.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+ppdc-choice.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
 ppdc-constraint.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-constraint.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-ppdc-constraint.o: ../cups/http.h ../cups/ppd.h ../cups/array.h
-ppdc-constraint.o: ../cups/file.h ../cups/language.h ../cups/string-private.h
-ppdc-constraint.o: ../config.h ../cups/debug-private.h ../cups/http-private.h
-ppdc-constraint.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ppdc-constraint.o: ../cups/ipp.h ../cups/language-private.h
-ppdc-constraint.o: ../cups/transcode.h ../cups/pwg-private.h
+ppdc-constraint.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+ppdc-constraint.o: ../cups/ipp.h ../cups/http.h ../cups/language.h
+ppdc-constraint.o: ../cups/array.h ../cups/string-private.h ../config.h
+ppdc-constraint.o: ../cups/debug-private.h ../cups/ppd-private.h
+ppdc-constraint.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+ppdc-constraint.o: ../cups/http-private.h ../cups/http.h
+ppdc-constraint.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+ppdc-constraint.o: ../cups/language-private.h ../cups/transcode.h
 ppdc-driver.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-driver.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-ppdc-driver.o: ../cups/http.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-ppdc-driver.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-driver.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-ppdc-driver.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-driver.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-driver.o: ../cups/pwg-private.h
+ppdc-driver.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+ppdc-driver.o: ../cups/ipp.h ../cups/http.h ../cups/language.h
+ppdc-driver.o: ../cups/array.h ../cups/string-private.h ../config.h
+ppdc-driver.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+ppdc-driver.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+ppdc-driver.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+ppdc-driver.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
 ppdc-file.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-file.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-ppdc-file.o: ../cups/http.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-ppdc-file.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-file.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
+ppdc-file.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+ppdc-file.o: ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+ppdc-file.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
+ppdc-file.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+ppdc-file.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
 ppdc-file.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
 ppdc-file.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-file.o: ../cups/pwg-private.h
 ppdc-filter.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-filter.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-ppdc-filter.o: ../cups/http.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-ppdc-filter.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-filter.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-ppdc-filter.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-filter.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-filter.o: ../cups/pwg-private.h
+ppdc-filter.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+ppdc-filter.o: ../cups/ipp.h ../cups/http.h ../cups/language.h
+ppdc-filter.o: ../cups/array.h ../cups/string-private.h ../config.h
+ppdc-filter.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+ppdc-filter.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+ppdc-filter.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+ppdc-filter.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
 ppdc-font.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-font.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-ppdc-font.o: ../cups/http.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-ppdc-font.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-font.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
+ppdc-font.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+ppdc-font.o: ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+ppdc-font.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
+ppdc-font.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+ppdc-font.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
 ppdc-font.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
 ppdc-font.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-font.o: ../cups/pwg-private.h
 ppdc-group.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-group.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-ppdc-group.o: ../cups/http.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-ppdc-group.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-group.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
+ppdc-group.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+ppdc-group.o: ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+ppdc-group.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
+ppdc-group.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+ppdc-group.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
 ppdc-group.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
 ppdc-group.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-group.o: ../cups/pwg-private.h
 ppdc-import.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-import.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-ppdc-import.o: ../cups/http.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-ppdc-import.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-import.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-ppdc-import.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-import.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-import.o: ../cups/pwg-private.h ../cups/ppd.h
+ppdc-import.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+ppdc-import.o: ../cups/ipp.h ../cups/http.h ../cups/language.h
+ppdc-import.o: ../cups/array.h ../cups/string-private.h ../config.h
+ppdc-import.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+ppdc-import.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+ppdc-import.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+ppdc-import.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
 ppdc-mediasize.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-mediasize.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-ppdc-mediasize.o: ../cups/http.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-ppdc-mediasize.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-mediasize.o: ../cups/debug-private.h ../cups/http-private.h
+ppdc-mediasize.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+ppdc-mediasize.o: ../cups/ipp.h ../cups/http.h ../cups/language.h
+ppdc-mediasize.o: ../cups/array.h ../cups/string-private.h ../config.h
+ppdc-mediasize.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+ppdc-mediasize.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 ppdc-mediasize.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
 ppdc-mediasize.o: ../cups/ipp.h ../cups/language-private.h
-ppdc-mediasize.o: ../cups/transcode.h ../cups/pwg-private.h
+ppdc-mediasize.o: ../cups/transcode.h
 ppdc-message.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-message.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-ppdc-message.o: ../cups/http.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-ppdc-message.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-message.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-ppdc-message.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-message.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-message.o: ../cups/pwg-private.h
+ppdc-message.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+ppdc-message.o: ../cups/ipp.h ../cups/http.h ../cups/language.h
+ppdc-message.o: ../cups/array.h ../cups/string-private.h ../config.h
+ppdc-message.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+ppdc-message.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+ppdc-message.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+ppdc-message.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
 ppdc-option.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-option.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-ppdc-option.o: ../cups/http.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-ppdc-option.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-option.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-ppdc-option.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-option.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-option.o: ../cups/pwg-private.h
+ppdc-option.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+ppdc-option.o: ../cups/ipp.h ../cups/http.h ../cups/language.h
+ppdc-option.o: ../cups/array.h ../cups/string-private.h ../config.h
+ppdc-option.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+ppdc-option.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+ppdc-option.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+ppdc-option.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
 ppdc-profile.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-profile.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-ppdc-profile.o: ../cups/http.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-ppdc-profile.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-profile.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-ppdc-profile.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-profile.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-profile.o: ../cups/pwg-private.h
+ppdc-profile.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+ppdc-profile.o: ../cups/ipp.h ../cups/http.h ../cups/language.h
+ppdc-profile.o: ../cups/array.h ../cups/string-private.h ../config.h
+ppdc-profile.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+ppdc-profile.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+ppdc-profile.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+ppdc-profile.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
 ppdc-shared.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-shared.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-ppdc-shared.o: ../cups/http.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-ppdc-shared.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-shared.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-ppdc-shared.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-shared.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-shared.o: ../cups/pwg-private.h
+ppdc-shared.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+ppdc-shared.o: ../cups/ipp.h ../cups/http.h ../cups/language.h
+ppdc-shared.o: ../cups/array.h ../cups/string-private.h ../config.h
+ppdc-shared.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+ppdc-shared.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+ppdc-shared.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+ppdc-shared.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
 ppdc-source.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-source.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-ppdc-source.o: ../cups/http.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-ppdc-source.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-source.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-ppdc-source.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-source.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-source.o: ../cups/pwg-private.h ../cups/raster.h ../data/epson.h
-ppdc-source.o: ../data/escp.h ../data/hp.h ../data/label.h ../data/pcl.h
+ppdc-source.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+ppdc-source.o: ../cups/ipp.h ../cups/http.h ../cups/language.h
+ppdc-source.o: ../cups/array.h ../cups/string-private.h ../config.h
+ppdc-source.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+ppdc-source.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+ppdc-source.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+ppdc-source.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
+ppdc-source.o: ../cups/raster.h ../cups/ppd.h ../data/epson.h ../data/escp.h
+ppdc-source.o: ../data/hp.h ../data/label.h ../data/pcl.h
 ppdc-string.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-string.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-ppdc-string.o: ../cups/http.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-ppdc-string.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-string.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-ppdc-string.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ppdc-string.o: ../cups/language-private.h ../cups/transcode.h
-ppdc-string.o: ../cups/pwg-private.h
+ppdc-string.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+ppdc-string.o: ../cups/ipp.h ../cups/http.h ../cups/language.h
+ppdc-string.o: ../cups/array.h ../cups/string-private.h ../config.h
+ppdc-string.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+ppdc-string.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+ppdc-string.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+ppdc-string.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
 ppdc-variable.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc-variable.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-ppdc-variable.o: ../cups/http.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-ppdc-variable.o: ../cups/language.h ../cups/string-private.h ../config.h
-ppdc-variable.o: ../cups/debug-private.h ../cups/http-private.h
+ppdc-variable.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+ppdc-variable.o: ../cups/ipp.h ../cups/http.h ../cups/language.h
+ppdc-variable.o: ../cups/array.h ../cups/string-private.h ../config.h
+ppdc-variable.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+ppdc-variable.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 ppdc-variable.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
 ppdc-variable.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-ppdc-variable.o: ../cups/pwg-private.h
 genstrings.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-genstrings.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-genstrings.o: ../cups/http.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-genstrings.o: ../cups/language.h ../cups/string-private.h ../config.h
-genstrings.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
+genstrings.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+genstrings.o: ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+genstrings.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
+genstrings.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+genstrings.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
 genstrings.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
 genstrings.o: ../cups/language-private.h ../cups/transcode.h
-genstrings.o: ../cups/pwg-private.h
 ppdc.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdc.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-ppdc.o: ../cups/ppd.h ../cups/array.h ../cups/file.h ../cups/language.h
+ppdc.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h ../cups/ipp.h
+ppdc.o: ../cups/http.h ../cups/language.h ../cups/array.h
 ppdc.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-ppdc.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-ppdc.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-ppdc.o: ../cups/transcode.h ../cups/pwg-private.h
+ppdc.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+ppdc.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+ppdc.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+ppdc.o: ../cups/language-private.h ../cups/transcode.h
 ppdhtml.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdhtml.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-ppdhtml.o: ../cups/ppd.h ../cups/array.h ../cups/file.h ../cups/language.h
+ppdhtml.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h ../cups/ipp.h
+ppdhtml.o: ../cups/http.h ../cups/language.h ../cups/array.h
 ppdhtml.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-ppdhtml.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-ppdhtml.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-ppdhtml.o: ../cups/transcode.h ../cups/pwg-private.h
+ppdhtml.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+ppdhtml.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+ppdhtml.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+ppdhtml.o: ../cups/language-private.h ../cups/transcode.h
 ppdi.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdi.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-ppdi.o: ../cups/ppd.h ../cups/array.h ../cups/file.h ../cups/language.h
+ppdi.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h ../cups/ipp.h
+ppdi.o: ../cups/http.h ../cups/language.h ../cups/array.h
 ppdi.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-ppdi.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-ppdi.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-ppdi.o: ../cups/transcode.h ../cups/pwg-private.h
-ppdmerge.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-ppdmerge.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-ppdmerge.o: ../cups/file.h ../cups/language.h ../cups/string-private.h
-ppdmerge.o: ../config.h ../cups/debug-private.h ../cups/http-private.h
-ppdmerge.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-ppdmerge.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-ppdmerge.o: ../cups/pwg-private.h ../cups/ppd-private.h ../cups/array.h
+ppdi.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+ppdi.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+ppdi.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+ppdi.o: ../cups/language-private.h ../cups/transcode.h
+ppdmerge.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+ppdmerge.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h
+ppdmerge.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+ppdmerge.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+ppdmerge.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+ppdmerge.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+ppdmerge.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+ppdmerge.o: ../cups/transcode.h ../cups/ppd-private.h ../cups/array.h
 ppdpo.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-ppdpo.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-ppdpo.o: ../cups/ppd.h ../cups/array.h ../cups/file.h ../cups/language.h
+ppdpo.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h ../cups/ipp.h
+ppdpo.o: ../cups/http.h ../cups/language.h ../cups/array.h
 ppdpo.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-ppdpo.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-ppdpo.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-ppdpo.o: ../cups/transcode.h ../cups/pwg-private.h
+ppdpo.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
+ppdpo.o: ../cups/pwg-private.h ../cups/http-private.h ../cups/http.h
+ppdpo.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
+ppdpo.o: ../cups/language-private.h ../cups/transcode.h
 testcatalog.o: ppdc-private.h ppdc.h ../cups/file.h ../cups/versioning.h
-testcatalog.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-testcatalog.o: ../cups/http.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-testcatalog.o: ../cups/language.h ../cups/string-private.h ../config.h
-testcatalog.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-testcatalog.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-testcatalog.o: ../cups/language-private.h ../cups/transcode.h
-testcatalog.o: ../cups/pwg-private.h
+testcatalog.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+testcatalog.o: ../cups/ipp.h ../cups/http.h ../cups/language.h
+testcatalog.o: ../cups/array.h ../cups/string-private.h ../config.h
+testcatalog.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+testcatalog.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+testcatalog.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+testcatalog.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
index 5465a3016348286734651694d64c118b33007c8c..d32c5c9ba82624cb93bea6245263b85c729fe0ad 100644 (file)
 # DO NOT DELETE
 
-auth.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-auth.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-auth.o: ../cups/file.h ../cups/language.h ../cups/string-private.h
-auth.o: ../config.h ../cups/debug-private.h ../cups/http-private.h
+auth.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+auth.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/language.h
+auth.o: ../cups/array.h ../cups/string-private.h ../config.h
+auth.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+auth.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 auth.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-auth.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-auth.o: ../cups/pwg-private.h mime.h ../cups/array.h ../cups/file.h sysman.h
-auth.o: statbuf.h cert.h auth.h client.h policy.h printers.h
-auth.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-auth.o: network.h subscriptions.h
-banners.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-banners.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-banners.o: ../cups/file.h ../cups/language.h ../cups/string-private.h
-banners.o: ../config.h ../cups/debug-private.h ../cups/http-private.h
-banners.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-banners.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-banners.o: ../cups/pwg-private.h mime.h ../cups/array.h ../cups/file.h
-banners.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
+auth.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h mime.h
+auth.o: ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
+auth.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
+auth.o: conf.h banners.h dirsvc.h network.h subscriptions.h
+banners.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+banners.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+banners.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+banners.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+banners.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+banners.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+banners.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+banners.o: ../cups/transcode.h mime.h ../cups/array.h ../cups/file.h sysman.h
+banners.o: statbuf.h cert.h auth.h client.h policy.h printers.h
 banners.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 banners.o: network.h subscriptions.h ../cups/dir.h
-cert.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-cert.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-cert.o: ../cups/file.h ../cups/language.h ../cups/string-private.h
-cert.o: ../config.h ../cups/debug-private.h ../cups/http-private.h
+cert.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+cert.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/language.h
+cert.o: ../cups/array.h ../cups/string-private.h ../config.h
+cert.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+cert.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 cert.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-cert.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-cert.o: ../cups/pwg-private.h mime.h ../cups/array.h ../cups/file.h sysman.h
-cert.o: statbuf.h cert.h auth.h client.h policy.h printers.h
-cert.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-cert.o: network.h subscriptions.h
-classes.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-classes.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-classes.o: ../cups/file.h ../cups/language.h ../cups/string-private.h
-classes.o: ../config.h ../cups/debug-private.h ../cups/http-private.h
-classes.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-classes.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-classes.o: ../cups/pwg-private.h mime.h ../cups/array.h ../cups/file.h
-classes.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
+cert.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h mime.h
+cert.o: ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
+cert.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
+cert.o: conf.h banners.h dirsvc.h network.h subscriptions.h
+classes.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+classes.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+classes.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+classes.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+classes.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+classes.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+classes.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+classes.o: ../cups/transcode.h mime.h ../cups/array.h ../cups/file.h sysman.h
+classes.o: statbuf.h cert.h auth.h client.h policy.h printers.h
 classes.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 classes.o: network.h subscriptions.h
-client.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-client.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-client.o: ../cups/file.h ../cups/language.h ../cups/string-private.h
-client.o: ../config.h ../cups/debug-private.h ../cups/http-private.h
-client.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-client.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-client.o: ../cups/pwg-private.h mime.h ../cups/array.h ../cups/file.h
-client.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
+client.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+client.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+client.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+client.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+client.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+client.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+client.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+client.o: ../cups/transcode.h mime.h ../cups/array.h ../cups/file.h sysman.h
+client.o: statbuf.h cert.h auth.h client.h policy.h printers.h
 client.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 client.o: network.h subscriptions.h
-conf.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-conf.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-conf.o: ../cups/file.h ../cups/language.h ../cups/string-private.h
-conf.o: ../config.h ../cups/debug-private.h ../cups/http-private.h
+conf.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+conf.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/language.h
+conf.o: ../cups/array.h ../cups/string-private.h ../config.h
+conf.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+conf.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 conf.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-conf.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-conf.o: ../cups/pwg-private.h mime.h ../cups/array.h ../cups/file.h sysman.h
-conf.o: statbuf.h cert.h auth.h client.h policy.h printers.h
-conf.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-conf.o: network.h subscriptions.h
-dirsvc.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-dirsvc.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-dirsvc.o: ../cups/file.h ../cups/language.h ../cups/string-private.h
-dirsvc.o: ../config.h ../cups/debug-private.h ../cups/http-private.h
-dirsvc.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-dirsvc.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-dirsvc.o: ../cups/pwg-private.h mime.h ../cups/array.h ../cups/file.h
-dirsvc.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
+conf.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h mime.h
+conf.o: ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
+conf.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
+conf.o: conf.h banners.h dirsvc.h network.h subscriptions.h
+dirsvc.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+dirsvc.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+dirsvc.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+dirsvc.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+dirsvc.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+dirsvc.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+dirsvc.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+dirsvc.o: ../cups/transcode.h mime.h ../cups/array.h ../cups/file.h sysman.h
+dirsvc.o: statbuf.h cert.h auth.h client.h policy.h printers.h
 dirsvc.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 dirsvc.o: network.h subscriptions.h
-env.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-env.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-env.o: ../cups/file.h ../cups/language.h ../cups/string-private.h ../config.h
-env.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-env.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-env.o: ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h
-env.o: mime.h ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
+env.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+env.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/language.h
+env.o: ../cups/array.h ../cups/string-private.h ../config.h
+env.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+env.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+env.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+env.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h mime.h
+env.o: ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
 env.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
 env.o: conf.h banners.h dirsvc.h network.h subscriptions.h
-main.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-main.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-main.o: ../cups/file.h ../cups/language.h ../cups/string-private.h
-main.o: ../config.h ../cups/debug-private.h ../cups/http-private.h
+main.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+main.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/language.h
+main.o: ../cups/array.h ../cups/string-private.h ../config.h
+main.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+main.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 main.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-main.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-main.o: ../cups/pwg-private.h mime.h ../cups/array.h ../cups/file.h sysman.h
-main.o: statbuf.h cert.h auth.h client.h policy.h printers.h
-main.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-main.o: network.h subscriptions.h ../cups/dir.h
-ipp.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-ipp.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-ipp.o: ../cups/file.h ../cups/language.h ../cups/string-private.h ../config.h
-ipp.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-ipp.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ipp.o: ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h
-ipp.o: mime.h ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
+main.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h mime.h
+main.o: ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
+main.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
+main.o: conf.h banners.h dirsvc.h network.h subscriptions.h ../cups/dir.h
+ipp.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+ipp.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/language.h
+ipp.o: ../cups/array.h ../cups/string-private.h ../config.h
+ipp.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+ipp.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+ipp.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+ipp.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h mime.h
+ipp.o: ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
 ipp.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
 ipp.o: conf.h banners.h dirsvc.h network.h subscriptions.h
 ipp.o: ../cups/ppd-private.h
-listen.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-listen.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-listen.o: ../cups/file.h ../cups/language.h ../cups/string-private.h
-listen.o: ../config.h ../cups/debug-private.h ../cups/http-private.h
-listen.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-listen.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-listen.o: ../cups/pwg-private.h mime.h ../cups/array.h ../cups/file.h
-listen.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
+listen.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+listen.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+listen.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+listen.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+listen.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+listen.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+listen.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+listen.o: ../cups/transcode.h mime.h ../cups/array.h ../cups/file.h sysman.h
+listen.o: statbuf.h cert.h auth.h client.h policy.h printers.h
 listen.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 listen.o: network.h subscriptions.h
-job.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-job.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-job.o: ../cups/file.h ../cups/language.h ../cups/string-private.h ../config.h
-job.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-job.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-job.o: ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h
-job.o: mime.h ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
+job.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+job.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/language.h
+job.o: ../cups/array.h ../cups/string-private.h ../config.h
+job.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+job.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+job.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+job.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h mime.h
+job.o: ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
 job.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
 job.o: conf.h banners.h dirsvc.h network.h subscriptions.h ../cups/backend.h
 job.o: ../cups/dir.h
-log.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-log.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-log.o: ../cups/file.h ../cups/language.h ../cups/string-private.h ../config.h
-log.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-log.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-log.o: ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h
-log.o: mime.h ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
+log.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+log.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/language.h
+log.o: ../cups/array.h ../cups/string-private.h ../config.h
+log.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+log.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+log.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+log.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h mime.h
+log.o: ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
 log.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
 log.o: conf.h banners.h dirsvc.h network.h subscriptions.h
 network.o: ../cups/http-private.h ../config.h ../cups/http.h
 network.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h cupsd.h
-network.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-network.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-network.o: ../cups/language.h ../cups/string-private.h
-network.o: ../cups/debug-private.h ../cups/http-private.h
-network.o: ../cups/language-private.h ../cups/transcode.h
-network.o: ../cups/pwg-private.h mime.h ../cups/array.h ../cups/file.h
-network.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
-network.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-network.o: network.h subscriptions.h
-policy.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-policy.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-policy.o: ../cups/file.h ../cups/language.h ../cups/string-private.h
-policy.o: ../config.h ../cups/debug-private.h ../cups/http-private.h
-policy.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-policy.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-policy.o: ../cups/pwg-private.h mime.h ../cups/array.h ../cups/file.h
-policy.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
+network.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+network.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+network.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+network.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+network.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+network.o: ../cups/language-private.h ../cups/transcode.h mime.h
+network.o: ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
+network.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
+network.o: conf.h banners.h dirsvc.h network.h subscriptions.h
+policy.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+policy.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+policy.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+policy.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+policy.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+policy.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+policy.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+policy.o: ../cups/transcode.h mime.h ../cups/array.h ../cups/file.h sysman.h
+policy.o: statbuf.h cert.h auth.h client.h policy.h printers.h
 policy.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 policy.o: network.h subscriptions.h
-printers.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-printers.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-printers.o: ../cups/file.h ../cups/language.h ../cups/string-private.h
-printers.o: ../config.h ../cups/debug-private.h ../cups/http-private.h
-printers.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-printers.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-printers.o: ../cups/pwg-private.h mime.h ../cups/array.h ../cups/file.h
+printers.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+printers.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+printers.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+printers.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+printers.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+printers.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+printers.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+printers.o: ../cups/transcode.h mime.h ../cups/array.h ../cups/file.h
 printers.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
 printers.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 printers.o: network.h subscriptions.h ../cups/dir.h
-process.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-process.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-process.o: ../cups/file.h ../cups/language.h ../cups/string-private.h
-process.o: ../config.h ../cups/debug-private.h ../cups/http-private.h
-process.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-process.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-process.o: ../cups/pwg-private.h mime.h ../cups/array.h ../cups/file.h
-process.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
+process.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+process.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+process.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+process.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+process.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+process.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+process.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+process.o: ../cups/transcode.h mime.h ../cups/array.h ../cups/file.h sysman.h
+process.o: statbuf.h cert.h auth.h client.h policy.h printers.h
 process.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 process.o: network.h subscriptions.h
-quotas.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-quotas.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-quotas.o: ../cups/file.h ../cups/language.h ../cups/string-private.h
-quotas.o: ../config.h ../cups/debug-private.h ../cups/http-private.h
-quotas.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-quotas.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-quotas.o: ../cups/pwg-private.h mime.h ../cups/array.h ../cups/file.h
-quotas.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
+quotas.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+quotas.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+quotas.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+quotas.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+quotas.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+quotas.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+quotas.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+quotas.o: ../cups/transcode.h mime.h ../cups/array.h ../cups/file.h sysman.h
+quotas.o: statbuf.h cert.h auth.h client.h policy.h printers.h
 quotas.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 quotas.o: network.h subscriptions.h
-removefile.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-removefile.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-removefile.o: ../cups/array.h ../cups/file.h ../cups/language.h
-removefile.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
+removefile.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+removefile.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+removefile.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+removefile.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+removefile.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
 removefile.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
 removefile.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-removefile.o: ../cups/transcode.h ../cups/pwg-private.h mime.h
-removefile.o: ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
-removefile.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h
-removefile.o: job.h conf.h banners.h dirsvc.h network.h subscriptions.h
-select.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-select.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-select.o: ../cups/file.h ../cups/language.h ../cups/string-private.h
-select.o: ../config.h ../cups/debug-private.h ../cups/http-private.h
-select.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-select.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-select.o: ../cups/pwg-private.h mime.h ../cups/array.h ../cups/file.h
-select.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
+removefile.o: ../cups/transcode.h mime.h ../cups/array.h ../cups/file.h
+removefile.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
+removefile.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
+removefile.o: network.h subscriptions.h
+select.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+select.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+select.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+select.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+select.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+select.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+select.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+select.o: ../cups/transcode.h mime.h ../cups/array.h ../cups/file.h sysman.h
+select.o: statbuf.h cert.h auth.h client.h policy.h printers.h
 select.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 select.o: network.h subscriptions.h
 server.o: ../cups/http-private.h ../config.h ../cups/http.h
 server.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h cupsd.h
-server.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-server.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-server.o: ../cups/language.h ../cups/string-private.h ../cups/debug-private.h
-server.o: ../cups/http-private.h ../cups/language-private.h
-server.o: ../cups/transcode.h ../cups/pwg-private.h mime.h ../cups/array.h
-server.o: ../cups/file.h sysman.h statbuf.h cert.h auth.h client.h policy.h
-server.o: printers.h ../cups/pwg-private.h classes.h job.h conf.h banners.h
-server.o: dirsvc.h network.h subscriptions.h
-statbuf.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-statbuf.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-statbuf.o: ../cups/file.h ../cups/language.h ../cups/string-private.h
-statbuf.o: ../config.h ../cups/debug-private.h ../cups/http-private.h
-statbuf.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-statbuf.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-statbuf.o: ../cups/pwg-private.h mime.h ../cups/array.h ../cups/file.h
-statbuf.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
+server.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+server.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+server.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+server.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+server.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+server.o: ../cups/language-private.h ../cups/transcode.h mime.h
+server.o: ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
+server.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
+server.o: conf.h banners.h dirsvc.h network.h subscriptions.h
+statbuf.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+statbuf.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+statbuf.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+statbuf.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+statbuf.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+statbuf.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+statbuf.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+statbuf.o: ../cups/transcode.h mime.h ../cups/array.h ../cups/file.h sysman.h
+statbuf.o: statbuf.h cert.h auth.h client.h policy.h printers.h
 statbuf.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 statbuf.o: network.h subscriptions.h
-subscriptions.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-subscriptions.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-subscriptions.o: ../cups/array.h ../cups/file.h ../cups/language.h
-subscriptions.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
+subscriptions.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+subscriptions.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+subscriptions.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+subscriptions.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+subscriptions.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
 subscriptions.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
 subscriptions.o: ../cups/ipp-private.h ../cups/ipp.h
-subscriptions.o: ../cups/language-private.h ../cups/transcode.h
-subscriptions.o: ../cups/pwg-private.h mime.h ../cups/array.h ../cups/file.h
-subscriptions.o: sysman.h statbuf.h cert.h auth.h client.h policy.h
-subscriptions.o: printers.h ../cups/pwg-private.h classes.h job.h conf.h
-subscriptions.o: banners.h dirsvc.h network.h subscriptions.h
-sysman.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-sysman.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-sysman.o: ../cups/file.h ../cups/language.h ../cups/string-private.h
-sysman.o: ../config.h ../cups/debug-private.h ../cups/http-private.h
-sysman.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-sysman.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-sysman.o: ../cups/pwg-private.h mime.h ../cups/array.h ../cups/file.h
-sysman.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
+subscriptions.o: ../cups/language-private.h ../cups/transcode.h mime.h
+subscriptions.o: ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h
+subscriptions.o: auth.h client.h policy.h printers.h ../cups/pwg-private.h
+subscriptions.o: classes.h job.h conf.h banners.h dirsvc.h network.h
+subscriptions.o: subscriptions.h
+sysman.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+sysman.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+sysman.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+sysman.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+sysman.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+sysman.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+sysman.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+sysman.o: ../cups/transcode.h mime.h ../cups/array.h ../cups/file.h sysman.h
+sysman.o: statbuf.h cert.h auth.h client.h policy.h printers.h
 sysman.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 sysman.o: network.h subscriptions.h
 filter.o: ../cups/string-private.h ../config.h ../cups/debug-private.h mime.h
@@ -247,66 +266,70 @@ mime.o: ../cups/dir.h ../cups/versioning.h mime.h ../cups/array.h
 mime.o: ../cups/ipp.h ../cups/file.h
 type.o: ../cups/string-private.h ../config.h ../cups/debug-private.h mime.h
 type.o: ../cups/array.h ../cups/ipp.h ../cups/file.h
-cupsfilter.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-cupsfilter.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-cupsfilter.o: ../cups/array.h ../cups/file.h ../cups/language.h
-cupsfilter.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
+cupsfilter.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+cupsfilter.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+cupsfilter.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+cupsfilter.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+cupsfilter.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
 cupsfilter.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
 cupsfilter.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-cupsfilter.o: ../cups/transcode.h ../cups/pwg-private.h mime.h
-cupsfilter.o: ../cups/array.h ../cups/file.h
+cupsfilter.o: ../cups/transcode.h mime.h ../cups/array.h ../cups/file.h
 cups-deviced.o: util.h ../cups/file-private.h ../cups/cups-private.h
-cups-deviced.o: ../cups/cups.h ../cups/ipp.h ../cups/http.h
-cups-deviced.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-cups-deviced.o: ../cups/file.h ../cups/language.h ../cups/string-private.h
-cups-deviced.o: ../config.h ../cups/debug-private.h ../cups/http-private.h
+cups-deviced.o: ../cups/cups.h ../cups/file.h ../cups/versioning.h
+cups-deviced.o: ../cups/ipp.h ../cups/http.h ../cups/language.h
+cups-deviced.o: ../cups/array.h ../cups/string-private.h ../config.h
+cups-deviced.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+cups-deviced.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 cups-deviced.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
 cups-deviced.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-cups-deviced.o: ../cups/pwg-private.h ../cups/array.h ../cups/dir.h
-cups-lpd.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-cups-lpd.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-cups-lpd.o: ../cups/file.h ../cups/language.h ../cups/string-private.h
-cups-lpd.o: ../config.h ../cups/debug-private.h ../cups/http-private.h
-cups-lpd.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-cups-lpd.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-cups-lpd.o: ../cups/pwg-private.h
-cups-polld.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-cups-polld.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-cups-polld.o: ../cups/array.h ../cups/file.h ../cups/language.h
-cups-polld.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
+cups-deviced.o: ../cups/array.h ../cups/dir.h
+cups-lpd.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+cups-lpd.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+cups-lpd.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+cups-lpd.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+cups-lpd.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+cups-lpd.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+cups-lpd.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+cups-lpd.o: ../cups/transcode.h
+cups-polld.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+cups-polld.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+cups-polld.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+cups-polld.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+cups-polld.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
 cups-polld.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
 cups-polld.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-cups-polld.o: ../cups/transcode.h ../cups/pwg-private.h
-testdirsvc.o: ../cups/cups.h ../cups/ipp.h ../cups/http.h
-testdirsvc.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-testdirsvc.o: ../cups/file.h ../cups/language.h ../cups/string-private.h
-testdirsvc.o: ../config.h
-testlpd.o: ../cups/cups.h ../cups/ipp.h ../cups/http.h ../cups/versioning.h
-testlpd.o: ../cups/ppd.h ../cups/array.h ../cups/file.h ../cups/language.h
+cups-polld.o: ../cups/transcode.h
+testdirsvc.o: ../cups/cups.h ../cups/file.h ../cups/versioning.h
+testdirsvc.o: ../cups/ipp.h ../cups/http.h ../cups/language.h ../cups/array.h
+testdirsvc.o: ../cups/string-private.h ../config.h
+testlpd.o: ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h
+testlpd.o: ../cups/http.h ../cups/language.h ../cups/array.h
 testlpd.o: ../cups/string-private.h ../config.h
 testmime.o: ../cups/string-private.h ../config.h ../cups/dir.h
 testmime.o: ../cups/versioning.h mime.h ../cups/array.h ../cups/ipp.h
 testmime.o: ../cups/file.h
 testspeed.o: ../cups/string-private.h ../config.h ../cups/cups.h
-testspeed.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-testspeed.o: ../cups/array.h ../cups/file.h ../cups/language.h
-testspeed.o: ../cups/language.h ../cups/debug-private.h
-testsub.o: ../cups/cups.h ../cups/ipp.h ../cups/http.h ../cups/versioning.h
-testsub.o: ../cups/ppd.h ../cups/array.h ../cups/file.h ../cups/language.h
+testspeed.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+testspeed.o: ../cups/language.h ../cups/array.h ../cups/language.h
+testspeed.o: ../cups/debug-private.h
+testsub.o: ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h
+testsub.o: ../cups/http.h ../cups/language.h ../cups/array.h
 testsub.o: ../cups/debug-private.h ../cups/string-private.h ../config.h
 util.o: util.h ../cups/file-private.h ../cups/cups-private.h ../cups/cups.h
-util.o: ../cups/ipp.h ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-util.o: ../cups/array.h ../cups/file.h ../cups/language.h
-util.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
+util.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+util.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+util.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+util.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
 util.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
 util.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-util.o: ../cups/transcode.h ../cups/pwg-private.h
+util.o: ../cups/transcode.h
 cups-driverd.o: util.h ../cups/file-private.h ../cups/cups-private.h
-cups-driverd.o: ../cups/cups.h ../cups/ipp.h ../cups/http.h
-cups-driverd.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-cups-driverd.o: ../cups/file.h ../cups/language.h ../cups/string-private.h
-cups-driverd.o: ../config.h ../cups/debug-private.h ../cups/http-private.h
+cups-driverd.o: ../cups/cups.h ../cups/file.h ../cups/versioning.h
+cups-driverd.o: ../cups/ipp.h ../cups/http.h ../cups/language.h
+cups-driverd.o: ../cups/array.h ../cups/string-private.h ../config.h
+cups-driverd.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+cups-driverd.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 cups-driverd.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
 cups-driverd.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-cups-driverd.o: ../cups/pwg-private.h ../cups/dir.h ../cups/ppd-private.h
-cups-driverd.o: ../ppdc/ppdc.h ../cups/file.h
+cups-driverd.o: ../cups/dir.h ../cups/ppd-private.h ../ppdc/ppdc.h
+cups-driverd.o: ../cups/file.h
index acdc92fc17601816a815c6163b29451867a32690..a69e224d4f03cdb5ead5a7c83df0c67b9d2bdc1b 100644 (file)
@@ -1172,7 +1172,8 @@ cupsdReadConfiguration(void)
                      "Set-Job-Attributes Create-Job-Subscription "
                      "Renew-Subscription Cancel-Subscription "
                      "Get-Notifications Reprocess-Job Cancel-Current-Job "
-                     "Suspend-Current-Job Resume-Job CUPS-Move-Job "
+                     "Suspend-Current-Job Resume-Job Cancel-Jobs "
+                     "Cancel-My-Jobs Close-Job CUPS-Move-Job "
                      "CUPS-Authenticate-Job CUPS-Get-Document>");
       cupsdLogMessage(CUPSD_LOG_INFO, "Order Deny,Allow");
 
@@ -1199,6 +1200,9 @@ cupsdReadConfiguration(void)
       cupsdAddPolicyOp(p, po, IPP_CANCEL_CURRENT_JOB);
       cupsdAddPolicyOp(p, po, IPP_SUSPEND_CURRENT_JOB);
       cupsdAddPolicyOp(p, po, IPP_RESUME_JOB);
+      cupsdAddPolicyOp(p, po, IPP_CANCEL_JOBS);
+      cupsdAddPolicyOp(p, po, IPP_CANCEL_MY_JOBS);
+      cupsdAddPolicyOp(p, po, IPP_CLOSE_JOB);
       cupsdAddPolicyOp(p, po, CUPS_MOVE_JOB);
       cupsdAddPolicyOp(p, po, CUPS_AUTHENTICATE_JOB);
       cupsdAddPolicyOp(p, po, CUPS_GET_DOCUMENT);
@@ -3678,10 +3682,68 @@ read_policy(cups_file_t *fp,            /* I - Configuration file */
                        linenum);
 
      /*
-      * Verify that we have an explicit policy for CUPS-Get-Document
-      * (ensures that upgrades do not introduce new security issues...)
+      * Verify that we have an explicit policy for Cancel-Jobs, Cancel-My-Jobs,
+      * Close-Job, and CUPS-Get-Document (ensures that upgrades do not
+      * introduce new security issues...)
       */
 
+      if ((op = cupsdFindPolicyOp(pol, IPP_CANCEL_JOBS)) == NULL ||
+          op->op == IPP_ANY_OPERATION)
+      {
+        if ((op = cupsdFindPolicyOp(pol, IPP_CANCEL_JOB)) != NULL &&
+            op->op != IPP_ANY_OPERATION)
+       {
+        /*
+         * Add a new limit for Cancel-Jobs using the Cancel-Job limit as a
+         * template...
+         */
+
+          cupsdLogMessage(CUPSD_LOG_WARN,
+                         "No limit for Cancel-Jobs defined in policy %s "
+                         "- using Cancel-Job's policy", pol->name);
+
+          cupsdAddPolicyOp(pol, op, IPP_CANCEL_JOBS);
+       }
+      }
+
+      if ((op = cupsdFindPolicyOp(pol, IPP_CANCEL_MY_JOBS)) == NULL ||
+          op->op == IPP_ANY_OPERATION)
+      {
+        if ((op = cupsdFindPolicyOp(pol, IPP_SEND_DOCUMENT)) != NULL &&
+            op->op != IPP_ANY_OPERATION)
+       {
+        /*
+         * Add a new limit for Cancel-My-Jobs using the Send-Document limit as
+         * a template...
+         */
+
+          cupsdLogMessage(CUPSD_LOG_WARN,
+                         "No limit for Cancel-My-Jobs defined in policy %s "
+                         "- using Send-Document's policy", pol->name);
+
+          cupsdAddPolicyOp(pol, op, IPP_CANCEL_MY_JOBS);
+       }
+      }
+
+      if ((op = cupsdFindPolicyOp(pol, IPP_CLOSE_JOB)) == NULL ||
+          op->op == IPP_ANY_OPERATION)
+      {
+        if ((op = cupsdFindPolicyOp(pol, IPP_SEND_DOCUMENT)) != NULL &&
+            op->op != IPP_ANY_OPERATION)
+       {
+        /*
+         * Add a new limit for Close-Job using the Send-Document limit as a
+         * template...
+         */
+
+          cupsdLogMessage(CUPSD_LOG_WARN,
+                         "No limit for Close-Job defined in policy %s "
+                         "- using Send-Document's policy", pol->name);
+
+          cupsdAddPolicyOp(pol, op, IPP_CLOSE_JOB);
+       }
+      }
+
       if ((op = cupsdFindPolicyOp(pol, CUPS_GET_DOCUMENT)) == NULL ||
           op->op == IPP_ANY_OPERATION)
       {
index c4604fc61e8e1a82399b497f52760f94e8fea1fa..13d6d14929e00b2e55186664e4334c2f590e3876 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * "$Id: ipp.c 7944 2008-09-16 22:32:42Z mike $"
  *
- *   IPP routines for the Common UNIX Printing System (CUPS) scheduler.
+ *   IPP routines for the CUPS scheduler.
  *
  *   Copyright 2007-2010 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *                                 printer.
  *   apply_printer_defaults()    - Apply printer default options to a job.
  *   authenticate_job()          - Set job authentication info.
- *   cancel_all_jobs()           - Cancel all print jobs.
+ *   cancel_all_jobs()           - Cancel all or selected print jobs.
  *   cancel_job()                - Cancel a print job.
  *   cancel_subscription()       - Cancel a subscription.
- *   check_quotas()              - Check quotas for a printer and user.
  *   check_rss_recipient()       - Check that we do not have a duplicate RSS
  *                                 feed URI.
+ *   check_quotas()              - Check quotas for a printer and user.
+ *   close_job()                 - Close a multi-file job.
  *   copy_attribute()            - Copy a single attribute.
  *   copy_attrs()                - Copy attributes from one request to another.
  *   copy_banner()               - Copy a banner file to the requests directory
  *   get_ppds()                  - Get the list of PPD files on the local
  *                                 system.
  *   get_printer_attrs()         - Get printer attributes.
+ *   get_printer_supported()     - Get printer supported values.
  *   get_printers()              - Get a list of printers or classes.
  *   get_subscription_attrs()    - Get subscription attributes.
  *   get_subscriptions()         - Get subscriptions.
  *   get_username()              - Get the username associated with a request.
  *   hold_job()                  - Hold a print job.
+ *   hold_new_jobs()             - Hold pending/new jobs on a printer or class.
  *   move_job()                  - Move a job to a new destination.
  *   ppd_parse_line()            - Parse a PPD default line.
  *   print_job()                 - Print a file to a printer or class.
  *   read_job_ticket()           - Read a job ticket embedded in a print file.
  *   reject_jobs()               - Reject print jobs to a printer.
+ *   release_held_new_jobs()     - Release pending/new jobs on a printer or
+ *                                 class.
  *   release_job()               - Release a held print job.
  *   renew_subscription()        - Renew an existing subscription...
  *   restart_job()               - Restart an old print job.
@@ -160,6 +165,7 @@ static int  check_rss_recipient(const char *recipient);
 static int     check_quotas(cupsd_client_t *con, cupsd_printer_t *p);
 static ipp_attribute_t *copy_attribute(ipp_t *to, ipp_attribute_t *attr,
                                        int quickcopy);
+static void    close_job(cupsd_client_t *con, ipp_attribute_t *uri);
 static void    copy_attrs(ipp_t *to, ipp_t *from, cups_array_t *ra,
                           ipp_tag_t group, int quickcopy);
 static int     copy_banner(cupsd_client_t *con, cupsd_job_t *job,
@@ -580,6 +586,8 @@ cupsdProcessIPPRequest(
              break;
 
          case IPP_PURGE_JOBS :
+         case IPP_CANCEL_JOBS :
+         case IPP_CANCEL_MY_JOBS :
               cancel_all_jobs(con, uri);
               break;
 
@@ -599,6 +607,10 @@ cupsdProcessIPPRequest(
               release_held_new_jobs(con, uri);
               break;
 
+         case IPP_CLOSE_JOB :
+              close_job(con, uri);
+              break;
+
          case CUPS_GET_DEFAULT :
               get_default(con);
               break;
@@ -1544,9 +1556,6 @@ add_job(cupsd_client_t  *con,             /* I - Client connection */
       send_ipp_status(con, IPP_OK_SUBST, _("Unsupported margins."));
 
       unsup_col = ippNew();
-      ippAddCollection(con->response, IPP_TAG_UNSUPPORTED_GROUP, "media-col",
-                       unsup_col);
-
       if ((media_margin = ippFindAttribute(media_col->values[0].collection,
                                            "media-bottom-margin",
                                           IPP_TAG_INTEGER)) != NULL)
@@ -1570,6 +1579,10 @@ add_job(cupsd_client_t  *con,            /* I - Client connection */
                                           IPP_TAG_INTEGER)) != NULL)
         ippAddInteger(unsup_col, IPP_TAG_ZERO, IPP_TAG_INTEGER,
                      "media-top-margin", media_margin->values[0].integer);
+
+      ippAddCollection(con->response, IPP_TAG_UNSUPPORTED_GROUP, "media-col",
+                       unsup_col);
+      ippDelete(unsup_col);
     }
   }
 
@@ -3856,13 +3869,14 @@ authenticate_job(cupsd_client_t  *con,  /* I - Client connection */
 
 
 /*
- * 'cancel_all_jobs()' - Cancel all print jobs.
+ * 'cancel_all_jobs()' - Cancel all or selected print jobs.
  */
 
 static void
 cancel_all_jobs(cupsd_client_t  *con,  /* I - Client connection */
                ipp_attribute_t *uri)   /* I - Job or Printer URI */
 {
+  int          i;                      /* Looping var */
   http_status_t        status;                 /* Policy status */
   cups_ptype_t dtype;                  /* Destination type */
   char         scheme[HTTP_MAX_URI],   /* Scheme portion of URI */
@@ -3871,56 +3885,84 @@ cancel_all_jobs(cupsd_client_t  *con,   /* I - Client connection */
                resource[HTTP_MAX_URI]; /* Resource portion of URI */
   int          port;                   /* Port portion of URI */
   ipp_attribute_t *attr;               /* Attribute in request */
-  const char   *username;              /* Username */
-  cupsd_jobaction_t purge;             /* Purge? */
+  const char   *username = NULL;       /* Username */
+  cupsd_jobaction_t purge = CUPSD_JOB_DEFAULT;
+                                       /* Purge? */
   cupsd_printer_t *printer;            /* Printer */
+  ipp_attribute_t *job_ids;            /* job-ids attribute */
+  cupsd_job_t  *job;                   /* Job */
 
 
   cupsdLogMessage(CUPSD_LOG_DEBUG2, "cancel_all_jobs(%p[%d], %s)", con,
                   con->http.fd, uri->values[0].string.text);
 
  /*
-  * See if we have a printer URI...
+  * Get the jobs to cancel/purge...
   */
 
-  if (strcmp(uri->name, "printer-uri"))
+  switch (con->request->request.op.operation_id)
   {
-    send_ipp_status(con, IPP_BAD_REQUEST,
-                    _("The printer-uri attribute is required"));
-    return;
-  }
+    case IPP_PURGE_JOBS :
+       /*
+       * Get the username (if any) for the jobs we want to cancel (only if
+       * "my-jobs" is specified...
+       */
 
- /*
-  * Get the username (if any) for the jobs we want to cancel (only if
-  * "my-jobs" is specified...
-  */
+        if ((attr = ippFindAttribute(con->request, "my-jobs",
+                                     IPP_TAG_BOOLEAN)) != NULL &&
+            attr->values[0].boolean)
+       {
+         if ((attr = ippFindAttribute(con->request, "requesting-user-name",
+                                      IPP_TAG_NAME)) != NULL)
+           username = attr->values[0].string.text;
+         else
+         {
+           send_ipp_status(con, IPP_BAD_REQUEST,
+                           _("Missing requesting-user-name attribute"));
+           return;
+         }
+       }
 
-  if ((attr = ippFindAttribute(con->request, "my-jobs",
-                               IPP_TAG_BOOLEAN)) != NULL &&
-      attr->values[0].boolean)
-  {
-    if ((attr = ippFindAttribute(con->request, "requesting-user-name",
-                                 IPP_TAG_NAME)) != NULL)
-      username = attr->values[0].string.text;
-    else
-    {
-      send_ipp_status(con, IPP_BAD_REQUEST,
-                      _("Missing requesting-user-name attribute"));
-      return;
-    }
+       /*
+       * Look for the "purge-jobs" attribute...
+       */
+
+       if ((attr = ippFindAttribute(con->request, "purge-jobs",
+                                    IPP_TAG_BOOLEAN)) != NULL)
+         purge = attr->values[0].boolean ? CUPSD_JOB_PURGE : CUPSD_JOB_DEFAULT;
+       else
+         purge = CUPSD_JOB_PURGE;
+       break;
+
+    case IPP_CANCEL_MY_JOBS :
+        if (con->username[0])
+          username = con->username;
+        else if ((attr = ippFindAttribute(con->request, "requesting-user-name",
+                                         IPP_TAG_NAME)) != NULL)
+          username = attr->values[0].string.text;
+        else
+        {
+         send_ipp_status(con, IPP_BAD_REQUEST,
+                         _("Missing requesting-user-name attribute"));
+         return;
+        }
+
+    default :
+        break;
   }
-  else
-    username = NULL;
+
+  job_ids = ippFindAttribute(con->request, "job-ids", IPP_TAG_INTEGER);
 
  /*
-  * Look for the "purge-jobs" attribute...
+  * See if we have a printer URI...
   */
 
-  if ((attr = ippFindAttribute(con->request, "purge-jobs",
-                               IPP_TAG_BOOLEAN)) != NULL)
-    purge = attr->values[0].boolean ? CUPSD_JOB_PURGE : CUPSD_JOB_DEFAULT;
-  else
-    purge = CUPSD_JOB_PURGE;
+  if (strcmp(uri->name, "printer-uri"))
+  {
+    send_ipp_status(con, IPP_BAD_REQUEST,
+                    _("The printer-uri attribute is required"));
+    return;
+  }
 
  /*
   * And if the destination is valid...
@@ -3955,15 +3997,46 @@ cancel_all_jobs(cupsd_client_t  *con,   /* I - Client connection */
       return;
     }
 
-   /*
-    * Cancel all jobs on all printers...
-    */
+    if (job_ids)
+    {
+      for (i = 0; i < job_ids->num_values; i ++)
+      {
+       if ((job = cupsdFindJob(job_ids->values[i].integer)) == NULL)
+         break;
+      }
+
+      if (i < job_ids->num_values)
+      {
+       send_ipp_status(con, IPP_NOT_FOUND, _("job-id %d not found."),
+                       job_ids->values[i].integer);
+       return;
+      }
+
+      for (i = 0; i < job_ids->num_values; i ++)
+      {
+       job = cupsdFindJob(job_ids->values[i].integer);
+
+       cupsdSetJobState(job, IPP_JOB_CANCELED, purge,
+                        purge == CUPSD_JOB_PURGE ? "Job purged by user." :
+                                                   "Job canceled by user.");
+      }
 
-    cupsdCancelJobs(NULL, username, purge);
+      cupsdLogMessage(CUPSD_LOG_INFO, "Selected jobs were %s by \"%s\".",
+                     purge == CUPSD_JOB_PURGE ? "purged" : "canceled",
+                     get_username(con));
+    }
+    else
+    {
+     /*
+      * Cancel all jobs on all printers...
+      */
 
-    cupsdLogMessage(CUPSD_LOG_INFO, "All jobs were %s by \"%s\".",
-                    purge == CUPSD_JOB_PURGE ? "purged" : "canceled",
-                   get_username(con));
+      cupsdCancelJobs(NULL, username, purge);
+
+      cupsdLogMessage(CUPSD_LOG_INFO, "All jobs were %s by \"%s\".",
+                     purge == CUPSD_JOB_PURGE ? "purged" : "canceled",
+                     get_username(con));
+    }
   }
   else
   {
@@ -3978,16 +4051,48 @@ cancel_all_jobs(cupsd_client_t  *con,   /* I - Client connection */
       return;
     }
 
-   /*
-    * Cancel all of the jobs on the named printer...
-    */
+    if (job_ids)
+    {
+      for (i = 0; i < job_ids->num_values; i ++)
+      {
+       if ((job = cupsdFindJob(job_ids->values[i].integer)) == NULL ||
+           strcasecmp(job->dest, printer->name))
+         break;
+      }
+
+      if (i < job_ids->num_values)
+      {
+       send_ipp_status(con, IPP_NOT_FOUND, _("job-id %d not found."),
+                       job_ids->values[i].integer);
+       return;
+      }
+
+      for (i = 0; i < job_ids->num_values; i ++)
+      {
+       job = cupsdFindJob(job_ids->values[i].integer);
 
-    cupsdCancelJobs(printer->name, username, purge);
+       cupsdSetJobState(job, IPP_JOB_CANCELED, purge,
+                        purge == CUPSD_JOB_PURGE ? "Job purged by user." :
+                                                   "Job canceled by user.");
+      }
+
+      cupsdLogMessage(CUPSD_LOG_INFO, "Selected jobs were %s by \"%s\".",
+                     purge == CUPSD_JOB_PURGE ? "purged" : "canceled",
+                     get_username(con));
+    }
+    else
+    {
+     /*
+      * Cancel all of the jobs on the named printer...
+      */
+
+      cupsdCancelJobs(printer->name, username, purge);
 
-    cupsdLogMessage(CUPSD_LOG_INFO, "All jobs on \"%s\" were %s by \"%s\".",
-                    printer->name,
-                   purge == CUPSD_JOB_PURGE ? "purged" : "canceled",
-                   get_username(con));
+      cupsdLogMessage(CUPSD_LOG_INFO, "All jobs on \"%s\" were %s by \"%s\".",
+                     printer->name,
+                     purge == CUPSD_JOB_PURGE ? "purged" : "canceled",
+                     get_username(con));
+    }
   }
 
   con->response->request.status.status_code = IPP_OK;
@@ -4526,6 +4631,130 @@ check_quotas(cupsd_client_t  *con,      /* I - Client connection */
 }
 
 
+/*
+ * 'close_job()' - Close a multi-file job.
+ */
+
+static void
+close_job(cupsd_client_t  *con,                /* I - Client connection */
+          ipp_attribute_t *uri)                /* I - Printer URI */
+{
+  cupsd_job_t          *job;           /* Job */
+  cupsd_printer_t      *printer;       /* Printer */
+  ipp_attribute_t      *attr;          /* Attribute */
+  char                 job_uri[HTTP_MAX_URI],
+                                       /* Job URI */
+                       username[256];  /* User name */
+
+
+  cupsdLogMessage(CUPSD_LOG_DEBUG2, "close_job(%p[%d], %s)", con,
+                  con->http.fd, uri->values[0].string.text);
+
+ /*
+  * See if we have a job URI or a printer URI...
+  */
+
+  if (strcmp(uri->name, "printer-uri"))
+  {
+   /*
+    * job-uri is not supported by Close-Job!
+    */
+
+    send_ipp_status(con, IPP_BAD_REQUEST,
+                   _("Close-Job doesn't support the job-uri attribute."));
+    return;
+  }
+
+ /*
+  * Got a printer URI; see if we also have a job-id attribute...
+  */
+
+  if ((attr = ippFindAttribute(con->request, "job-id",
+                              IPP_TAG_INTEGER)) == NULL)
+  {
+    send_ipp_status(con, IPP_BAD_REQUEST,
+                   _("Got a printer-uri attribute but no job-id"));
+    return;
+  }
+
+  if ((job = cupsdFindJob(attr->values[0].integer)) == NULL)
+  {
+   /*
+    * Nope - return a "not found" error...
+    */
+
+    send_ipp_status(con, IPP_NOT_FOUND, _("Job #%d does not exist"),
+                    attr->values[0].integer);
+    return;
+  }
+
+  printer = cupsdFindDest(job->dest);
+
+ /*
+  * See if the job is owned by the requesting user...
+  */
+
+  if (!validate_user(job, con, job->username, username, sizeof(username)))
+  {
+    send_http_error(con, con->username[0] ? HTTP_FORBIDDEN : HTTP_UNAUTHORIZED,
+                    cupsdFindDest(job->dest));
+    return;
+  }
+
+ /*
+  * Add any ending sheet...
+  */
+
+  if (cupsdTimeoutJob(job))
+    return;
+
+  if (job->state_value == IPP_JOB_STOPPED)
+  {
+    job->state->values[0].integer = IPP_JOB_PENDING;
+    job->state_value              = IPP_JOB_PENDING;
+  }
+  else if (job->state_value == IPP_JOB_HELD)
+  {
+    if ((attr = ippFindAttribute(job->attrs, "job-hold-until",
+                                IPP_TAG_KEYWORD)) == NULL)
+      attr = ippFindAttribute(job->attrs, "job-hold-until", IPP_TAG_NAME);
+
+    if (!attr || !strcmp(attr->values[0].string.text, "no-hold"))
+    {
+      job->state->values[0].integer = IPP_JOB_PENDING;
+      job->state_value              = IPP_JOB_PENDING;
+    }
+  }
+
+  job->dirty = 1;
+  cupsdMarkDirty(CUPSD_DIRTY_JOBS);
+
+ /*
+  * Fill in the response info...
+  */
+
+  snprintf(job_uri, sizeof(job_uri), "http://%s:%d/jobs/%d", ServerName,
+          LocalPort, job->id);
+  ippAddString(con->response, IPP_TAG_JOB, IPP_TAG_URI, "job-uri", NULL,
+               job_uri);
+
+  ippAddInteger(con->response, IPP_TAG_JOB, IPP_TAG_INTEGER, "job-id", job->id);
+
+  ippAddInteger(con->response, IPP_TAG_JOB, IPP_TAG_ENUM, "job-state",
+                job->state_value);
+
+  add_job_state_reasons(con, job);
+
+  con->response->request.status.status_code = IPP_OK;
+
+ /*
+  * Start the job if necessary...
+  */
+
+  cupsdCheckJobs();
+}
+
+
 /*
  * 'copy_attribute()' - Copy a single attribute.
  */
@@ -4681,10 +4910,8 @@ copy_attribute(
 
         for (i = 0; i < attr->num_values; i ++)
        {
-         toattr->values[i].collection = ippNew();
-         toattr->values[i].collection->request.status.version[0] = 2;
-         copy_attrs(toattr->values[i].collection, attr->values[i].collection,
-                    NULL, IPP_TAG_ZERO, quickcopy);
+         toattr->values[i].collection = attr->values[i].collection;
+         attr->values[i].collection->use ++;
        }
         break;
 
@@ -6896,10 +7123,12 @@ get_jobs(cupsd_client_t  *con,          /* I - Client connection */
                host[HTTP_MAX_URI],     /* Host portion of URI */
                resource[HTTP_MAX_URI]; /* Resource portion of URI */
   int          port;                   /* Port portion of URI */
-  int          completed;              /* Completed jobs? */
+  int          job_comparison;         /* Job comparison */
+  ipp_jstate_t job_state;              /* job-state value */
   int          first_job_id;           /* First job ID */
   int          limit;                  /* Maximum number of jobs to return */
   int          count;                  /* Number of jobs that match */
+  ipp_attribute_t *job_ids;            /* job-ids attribute */
   cupsd_job_t  *job;                   /* Current job pointer */
   cupsd_printer_t *printer;            /* Printer */
   cups_array_t *list;                  /* Which job list... */
@@ -6980,31 +7209,82 @@ get_jobs(cupsd_client_t  *con,          /* I - Client connection */
     return;
   }
 
+  job_ids = ippFindAttribute(con->request, "job-ids", IPP_TAG_INTEGER);
+
  /*
   * See if the "which-jobs" attribute have been specified...
   */
 
   if ((attr = ippFindAttribute(con->request, "which-jobs",
-                               IPP_TAG_KEYWORD)) != NULL &&
-      !strcmp(attr->values[0].string.text, "completed"))
+                               IPP_TAG_KEYWORD)) != NULL && job_ids)
+  {
+    send_ipp_status(con, IPP_CONFLICT,
+                    _("The %s attribute cannot be provided with job-ids."),
+                    "which-jobs");
+    return;
+  }
+  else if (!attr || !strcmp(attr->values[0].string.text, "not-completed"))
+  {
+    job_comparison = -1;
+    job_state      = IPP_JOB_STOPPED;
+    list           = Jobs;
+  }
+  else if (!strcmp(attr->values[0].string.text, "completed"))
+  {
+    job_comparison = 1;
+    job_state      = IPP_JOB_CANCELED;
+    list           = Jobs;
+  }
+  else if (!strcmp(attr->values[0].string.text, "aborted"))
+  {
+    job_comparison = 0;
+    job_state      = IPP_JOB_ABORTED;
+    list           = Jobs;
+  }
+  else if (!strcmp(attr->values[0].string.text, "all"))
+  {
+    job_comparison = 1;
+    job_state      = IPP_JOB_PENDING;
+    list           = Jobs;
+  }
+  else if (!strcmp(attr->values[0].string.text, "canceled"))
+  {
+    job_comparison = 0;
+    job_state      = IPP_JOB_CANCELED;
+    list           = Jobs;
+  }
+  else if (!strcmp(attr->values[0].string.text, "pending"))
+  {
+    job_comparison = 0;
+    job_state      = IPP_JOB_PENDING;
+    list           = ActiveJobs;
+  }
+  else if (!strcmp(attr->values[0].string.text, "pending-held"))
   {
-    completed = 1;
-    list      = Jobs;
+    job_comparison = 0;
+    job_state      = IPP_JOB_HELD;
+    list           = ActiveJobs;
   }
-  else if (attr && !strcmp(attr->values[0].string.text, "all"))
+  else if (!strcmp(attr->values[0].string.text, "processing"))
   {
-    completed = 0;
-    list      = Jobs;
+    job_comparison = 0;
+    job_state      = IPP_JOB_PROCESSING;
+    list           = PrintingJobs;
   }
-  else if (attr && !strcmp(attr->values[0].string.text, "processing"))
+  else if (!strcmp(attr->values[0].string.text, "processing-stopped"))
   {
-    completed = 0;
-    list      = PrintingJobs;
+    job_comparison = 0;
+    job_state      = IPP_JOB_STOPPED;
+    list           = ActiveJobs;
   }
   else
   {
-    completed = 0;
-    list      = ActiveJobs;
+    send_ipp_status(con, IPP_ATTRIBUTES,
+                    _("The which-jobs value \"%s\" is not supported."),
+                   attr->values[0].string.text);
+    ippAddString(con->response, IPP_TAG_UNSUPPORTED_GROUP, IPP_TAG_KEYWORD,
+                 "which-jobs", NULL, attr->values[0].string.text);
+    return;
   }
 
  /*
@@ -7013,13 +7293,33 @@ get_jobs(cupsd_client_t  *con,          /* I - Client connection */
 
   if ((attr = ippFindAttribute(con->request, "limit",
                                IPP_TAG_INTEGER)) != NULL)
+  {
+    if (job_ids)
+    {
+      send_ipp_status(con, IPP_CONFLICT,
+                     _("The %s attribute cannot be provided with job-ids."),
+                     "limit");
+      return;
+    }
+
     limit = attr->values[0].integer;
+  }
   else
     limit = 0;
 
   if ((attr = ippFindAttribute(con->request, "first-job-id",
                                IPP_TAG_INTEGER)) != NULL)
+  {
+    if (job_ids)
+    {
+      send_ipp_status(con, IPP_CONFLICT,
+                     _("The %s attribute cannot be provided with job-ids."),
+                     "first-job-id");
+      return;
+    }
+
     first_job_id = attr->values[0].integer;
+  }
   else
     first_job_id = 1;
 
@@ -7028,8 +7328,14 @@ get_jobs(cupsd_client_t  *con,           /* I - Client connection */
   */
 
   if ((attr = ippFindAttribute(con->request, "my-jobs",
-                               IPP_TAG_BOOLEAN)) != NULL &&
-      attr->values[0].boolean)
+                               IPP_TAG_BOOLEAN)) != NULL && job_ids)
+  {
+    send_ipp_status(con, IPP_CONFLICT,
+                    _("The %s attribute cannot be provided with job-ids."),
+                    "my-jobs");
+    return;
+  }
+  else if (attr && attr->values[0].boolean)
     strlcpy(username, get_username(con), sizeof(username));
   else
     username[0] = '\0';
@@ -7051,58 +7357,100 @@ get_jobs(cupsd_client_t  *con,         /* I - Client connection */
   * OK, build a list of jobs for this printer...
   */
 
-  for (count = 0, job = (cupsd_job_t *)cupsArrayFirst(list);
-       (limit <= 0 || count < limit) && job;
-       job = (cupsd_job_t *)cupsArrayNext(list))
+  if (job_ids)
   {
-   /*
-    * Filter out jobs that don't match...
-    */
+    int        i;                              /* Looping var */
 
-    cupsdLogMessage(CUPSD_LOG_DEBUG2,
-                    "get_jobs: job->id=%d, dest=\"%s\", username=\"%s\", "
-                   "state_value=%d, attrs=%p", job->id, job->dest,
-                   job->username, job->state_value, job->attrs);
+    for (i = 0; i < job_ids->num_values; i ++)
+    {
+      if ((job = cupsdFindJob(job_ids->values[i].integer)) == NULL)
+        break;
+    }
 
-    if (!job->dest || !job->username)
-      cupsdLoadJob(job);
+    if (i < job_ids->num_values)
+    {
+      send_ipp_status(con, IPP_NOT_FOUND, _("job-id %d not found."),
+                      job_ids->values[i].integer);
+      return;
+    }
 
-    if (!job->dest || !job->username)
-      continue;
+    for (i = 0; i < job_ids->num_values; i ++)
+    {
+      job = cupsdFindJob(job_ids->values[i].integer);
 
-    if ((dest && strcmp(job->dest, dest)) &&
-        (!job->printer || !dest || strcmp(job->printer->name, dest)))
-      continue;
-    if ((job->dtype & dmask) != dtype &&
-        (!job->printer || (job->printer->type & dmask) != dtype))
-      continue;
-    if (completed && job->state_value <= IPP_JOB_STOPPED)
-      continue;
+      cupsdLoadJob(job);
 
-    if (job->id < first_job_id)
-      continue;
+      if (!job->attrs)
+      {
+       cupsdLogMessage(CUPSD_LOG_DEBUG2, "get_jobs: No attributes for job %d",
+                       job->id);
+       continue;
+      }
 
-    cupsdLoadJob(job);
+      if (i > 0)
+       ippAddSeparator(con->response);
 
-    if (!job->attrs)
-    {
-      cupsdLogMessage(CUPSD_LOG_DEBUG2, "get_jobs: No attributes for job %d",
-                      job->id);
-      continue;
+      copy_job_attrs(con, job, ra);
     }
+  }
+  else
+  {
+    for (count = 0, job = (cupsd_job_t *)cupsArrayFirst(list);
+        (limit <= 0 || count < limit) && job;
+        job = (cupsd_job_t *)cupsArrayNext(list))
+    {
+     /*
+      * Filter out jobs that don't match...
+      */
 
-    if (username[0] && strcasecmp(username, job->username))
-      continue;
+      cupsdLogMessage(CUPSD_LOG_DEBUG2,
+                     "get_jobs: job->id=%d, dest=\"%s\", username=\"%s\", "
+                     "state_value=%d, attrs=%p", job->id, job->dest,
+                     job->username, job->state_value, job->attrs);
 
-    if (count > 0)
-      ippAddSeparator(con->response);
+      if (!job->dest || !job->username)
+       cupsdLoadJob(job);
 
-    count ++;
+      if (!job->dest || !job->username)
+       continue;
 
-    copy_job_attrs(con, job, ra);
-  }
+      if ((dest && strcmp(job->dest, dest)) &&
+         (!job->printer || !dest || strcmp(job->printer->name, dest)))
+       continue;
+      if ((job->dtype & dmask) != dtype &&
+         (!job->printer || (job->printer->type & dmask) != dtype))
+       continue;
 
-  cupsdLogMessage(CUPSD_LOG_DEBUG2, "get_jobs: count=%d", count);
+      if ((job_comparison < 0 && job->state_value > job_state) ||
+          (job_comparison == 0 && job->state_value != job_state) ||
+          (job_comparison > 0 && job->state_value < job_state))
+       continue;
+
+      if (job->id < first_job_id)
+       continue;
+
+      cupsdLoadJob(job);
+
+      if (!job->attrs)
+      {
+       cupsdLogMessage(CUPSD_LOG_DEBUG2, "get_jobs: No attributes for job %d",
+                       job->id);
+       continue;
+      }
+
+      if (username[0] && strcasecmp(username, job->username))
+       continue;
+
+      if (count > 0)
+       ippAddSeparator(con->response);
+
+      count ++;
+
+      copy_job_attrs(con, job, ra);
+    }
+
+    cupsdLogMessage(CUPSD_LOG_DEBUG2, "get_jobs: count=%d", count);
+  }
 
   cupsArrayDelete(ra);
 
index 1823e697f47012a20c72e3655ea3cb443ba6e229..b4c625cd58de86862a92fa6d015a49a080c5cf89 100644 (file)
@@ -326,6 +326,9 @@ cupsdCreateCommonData(void)
                  IPP_DISABLE_PRINTER,
                  IPP_HOLD_NEW_JOBS,
                  IPP_RELEASE_HELD_NEW_JOBS,
+                 IPP_CANCEL_JOBS,
+                 IPP_CANCEL_MY_JOBS,
+                 IPP_CLOSE_JOB,
                  CUPS_GET_DEFAULT,
                  CUPS_GET_PRINTERS,
                  CUPS_ADD_PRINTER,
@@ -359,10 +362,10 @@ cupsdCreateCommonData(void)
   static const char * const media_col_supported[] =
                {                       /* media-col-supported values */
                  "media-bottom-margin",
-                 "media-color",
                  "media-left-margin",
                  "media-right-margin",
                  "media-size",
+                 "media-source",
                  "media-top-margin",
                  "media-type"
                };
@@ -443,6 +446,18 @@ cupsdCreateCommonData(void)
                  "printer-info",
                  "printer-location"
                };
+  static const char * const which_jobs[] =
+  {                                    /* which-jobs-supported values */
+    "completed",
+    "not-completed",
+    "aborted",
+    "all",
+    "canceled",
+    "pending",
+    "pending-held",
+    "processing",
+    "processing-stopped"
+  };
 
 
   if (CommonData)
@@ -497,6 +512,9 @@ cupsdCreateCommonData(void)
                 "job-hold-until-supported", sizeof(holds) / sizeof(holds[0]),
                NULL, holds);
 
+  /* job-ids-supported */
+  ippAddBoolean(CommonData, IPP_TAG_PRINTER, "job-ids-supported", 1);
+
   /* job-priority-supported */
   ippAddInteger(CommonData, IPP_TAG_PRINTER, IPP_TAG_INTEGER,
                 "job-priority-supported", 100);
@@ -661,6 +679,11 @@ cupsdCreateCommonData(void)
   /* server-is-sharing-printers */
   ippAddBoolean(CommonData, IPP_TAG_PRINTER, "server-is-sharing-printers",
                 BrowseLocalProtocols != 0 && Browsing);
+
+  /* which-jobs-supported */
+  ippAddStrings(CommonData, IPP_TAG_PRINTER, IPP_TAG_KEYWORD | IPP_TAG_COPY,
+                "which-jobs-supported",
+                sizeof(which_jobs) / sizeof(which_jobs[0]), NULL, which_jobs);
 }
 
 
@@ -4166,19 +4189,23 @@ load_ppd(cupsd_printer_t *p)            /* I - Printer */
 
       if (pwgsize)
       {
+        ipp_t  *col;                   /* Collection value */
+
        input_slot = ppdFindMarkedChoice(ppd, "InputSlot");
        media_type = ppdFindMarkedChoice(ppd, "MediaType");
+       col        = new_media_col(pwgsize,
+                                  input_slot ?
+                                      _pwgGetSource(p->pwg,
+                                                    input_slot->choice) :
+                                      NULL,
+                                  media_type ?
+                                      _pwgGetType(p->pwg,
+                                                  media_type->choice) :
+                                  NULL);
 
        ippAddCollection(p->ppd_attrs, IPP_TAG_PRINTER, "media-col-default",
-                        new_media_col(pwgsize,
-                                      input_slot ?
-                                          _pwgGetSource(p->pwg,
-                                                        input_slot->choice) :
-                                          NULL,
-                                      media_type ?
-                                          _pwgGetType(p->pwg,
-                                                      media_type->choice) :
-                                          NULL));
+                        col);
+        ippDelete(col);
       }
 
      /*
@@ -4468,14 +4495,9 @@ load_ppd(cupsd_printer_t *p)             /* I - Printer */
            i < resolution->num_choices;
           i ++, choice ++)
       {
-        xdpi = (int)strtol(choice->choice, (char **)&resptr, 10);
-       if (resptr > choice->choice && xdpi > 0)
-       {
-         if (*resptr == 'x')
-           ydpi = (int)strtol(resptr + 1, (char **)&resptr, 10);
-         else
-           ydpi = xdpi;
-        }
+        xdpi = ydpi = (int)strtol(choice->choice, (char **)&resptr, 10);
+       if (resptr > choice->choice && xdpi > 0 && *resptr == 'x')
+         ydpi = (int)strtol(resptr + 1, (char **)&resptr, 10);
 
        if (xdpi <= 0 || ydpi <= 0)
        {
@@ -4975,8 +4997,9 @@ new_media_col(_pwg_size_t *size,  /* I - media-size/margin values */
                "x-dimension", size->width);
   ippAddInteger(media_size, IPP_TAG_PRINTER, IPP_TAG_INTEGER,
                "y-dimension", size->length);
-
   ippAddCollection(media_col, IPP_TAG_PRINTER, "media-size", media_size);
+  ippDelete(media_size);
+
   ippAddInteger(media_col, IPP_TAG_PRINTER, IPP_TAG_INTEGER,
                "media-bottom-margin", size->bottom);
   ippAddInteger(media_col, IPP_TAG_PRINTER, IPP_TAG_INTEGER,
index 68a5f43cbc5282253f94336bde4701092ef20cd8..7775c994a657cbbb24bea3e7d447e7c1a0773908 100644 (file)
@@ -1,7 +1,7 @@
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
 phpcups.o: ../../cups/string-private.h ../../config.h phpcups.h
-phpcups.o: ../../cups/cups.h ../../cups/ipp.h ../../cups/http.h
-phpcups.o: ../../cups/versioning.h ../../cups/ppd.h ../../cups/array.h
-phpcups.o: ../../cups/file.h ../../cups/language.h ../../cups/language.h
+phpcups.o: ../../cups/cups.h ../../cups/file.h ../../cups/versioning.h
+phpcups.o: ../../cups/ipp.h ../../cups/http.h ../../cups/language.h
+phpcups.o: ../../cups/array.h ../../cups/language.h
 phpcups.o: ../../cups/debug-private.h
index fc4daa2b370cc129d227da98b684b132ab7ad3c9..21efca53688443f85d4ed3ad564f06b8bd2622d9 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   RFC file to HTML conversion program.
  *
- *   Copyright 2007-2009 by Apple Inc.
+ *   Copyright 2007-2010 by Apple Inc.
  *   Copyright 2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -23,7 +23,7 @@
  * Include necessary headers.
  */
 
-#include <cups/string.h>
+#include <cups/string-private.h>
 #include <stdlib.h>
 #include <cups/file.h>
 
index a63c624ef7c77ed20f402520b087fdcac320f4ba..e1d8379309030cde7ea1b4f6806299c3393a85a6 100644 (file)
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-cancel.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-cancel.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-cancel.o: ../cups/language.h ../cups/string-private.h ../config.h
-cancel.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-cancel.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-cancel.o: ../cups/language-private.h ../cups/transcode.h
-cancel.o: ../cups/pwg-private.h
-cupsaccept.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-cupsaccept.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-cupsaccept.o: ../cups/array.h ../cups/file.h ../cups/language.h
-cupsaccept.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
+cancel.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+cancel.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+cancel.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+cancel.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+cancel.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+cancel.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+cancel.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+cancel.o: ../cups/transcode.h
+cupsaccept.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+cupsaccept.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+cupsaccept.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+cupsaccept.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+cupsaccept.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
 cupsaccept.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
 cupsaccept.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-cupsaccept.o: ../cups/transcode.h ../cups/pwg-private.h
-cupsaddsmb.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-cupsaddsmb.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-cupsaddsmb.o: ../cups/array.h ../cups/file.h ../cups/language.h
-cupsaddsmb.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
+cupsaccept.o: ../cups/transcode.h
+cupsaddsmb.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+cupsaddsmb.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+cupsaddsmb.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+cupsaddsmb.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+cupsaddsmb.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
 cupsaddsmb.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
 cupsaddsmb.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-cupsaddsmb.o: ../cups/transcode.h ../cups/pwg-private.h ../cups/adminutil.h
-cupsaddsmb.o: ../cups/cups.h
-cupsctl.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-cupsctl.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-cupsctl.o: ../cups/language.h ../cups/string-private.h ../config.h
-cupsctl.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-cupsctl.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-cupsctl.o: ../cups/language-private.h ../cups/transcode.h
-cupsctl.o: ../cups/pwg-private.h ../cups/adminutil.h ../cups/cups.h
-cupstestdsc.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-cupstestdsc.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-cupstestdsc.o: ../cups/array.h ../cups/file.h ../cups/language.h
-cupstestdsc.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
+cupsaddsmb.o: ../cups/transcode.h ../cups/adminutil.h
+cupsctl.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+cupsctl.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+cupsctl.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+cupsctl.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+cupsctl.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+cupsctl.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+cupsctl.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+cupsctl.o: ../cups/transcode.h ../cups/adminutil.h
+cupstestdsc.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+cupstestdsc.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+cupstestdsc.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+cupstestdsc.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+cupstestdsc.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
 cupstestdsc.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
 cupstestdsc.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-cupstestdsc.o: ../cups/transcode.h ../cups/pwg-private.h
-cupstestppd.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-cupstestppd.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-cupstestppd.o: ../cups/array.h ../cups/file.h ../cups/language.h
-cupstestppd.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
+cupstestdsc.o: ../cups/transcode.h
+cupstestppd.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+cupstestppd.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+cupstestppd.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+cupstestppd.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+cupstestppd.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
 cupstestppd.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
 cupstestppd.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-cupstestppd.o: ../cups/transcode.h ../cups/pwg-private.h ../cups/dir.h
-cupstestppd.o: ../cups/ppd-private.h ../cups/raster.h
-lp.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-lp.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-lp.o: ../cups/language.h ../cups/string-private.h ../config.h
-lp.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-lp.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-lp.o: ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h
-lpadmin.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-lpadmin.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-lpadmin.o: ../cups/language.h ../cups/string-private.h ../config.h
-lpadmin.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-lpadmin.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-lpadmin.o: ../cups/language-private.h ../cups/transcode.h
-lpadmin.o: ../cups/pwg-private.h
-lpinfo.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-lpinfo.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-lpinfo.o: ../cups/language.h ../cups/string-private.h ../config.h
-lpinfo.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-lpinfo.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-lpinfo.o: ../cups/language-private.h ../cups/transcode.h
-lpinfo.o: ../cups/pwg-private.h
-lpmove.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-lpmove.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-lpmove.o: ../cups/language.h ../cups/string-private.h ../config.h
-lpmove.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-lpmove.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-lpmove.o: ../cups/language-private.h ../cups/transcode.h
-lpmove.o: ../cups/pwg-private.h
-lpoptions.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-lpoptions.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h
-lpoptions.o: ../cups/array.h ../cups/file.h ../cups/language.h
-lpoptions.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
+cupstestppd.o: ../cups/transcode.h ../cups/dir.h ../cups/ppd-private.h
+cupstestppd.o: ../cups/raster.h ../cups/ppd.h
+lp.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+lp.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/language.h
+lp.o: ../cups/array.h ../cups/string-private.h ../config.h
+lp.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+lp.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+lp.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+lp.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
+lpadmin.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+lpadmin.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+lpadmin.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+lpadmin.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+lpadmin.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+lpadmin.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+lpadmin.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+lpadmin.o: ../cups/transcode.h
+lpinfo.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+lpinfo.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+lpinfo.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+lpinfo.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+lpinfo.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+lpinfo.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+lpinfo.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+lpinfo.o: ../cups/transcode.h
+lpmove.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+lpmove.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+lpmove.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+lpmove.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+lpmove.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+lpmove.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+lpmove.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+lpmove.o: ../cups/transcode.h
+lpoptions.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+lpoptions.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+lpoptions.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+lpoptions.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+lpoptions.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
 lpoptions.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
 lpoptions.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-lpoptions.o: ../cups/transcode.h ../cups/pwg-private.h
-lppasswd.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h
-lppasswd.o: ../cups/http.h ../cups/versioning.h ../cups/ppd.h ../cups/array.h
-lppasswd.o: ../cups/file.h ../cups/language.h ../cups/string-private.h
-lppasswd.o: ../config.h ../cups/debug-private.h ../cups/http-private.h
-lppasswd.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-lppasswd.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-lppasswd.o: ../cups/pwg-private.h ../cups/md5-private.h
-lpstat.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-lpstat.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-lpstat.o: ../cups/language.h ../cups/string-private.h ../config.h
-lpstat.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-lpstat.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-lpstat.o: ../cups/language-private.h ../cups/transcode.h
-lpstat.o: ../cups/pwg-private.h
+lpoptions.o: ../cups/transcode.h
+lppasswd.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+lppasswd.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+lppasswd.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+lppasswd.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+lppasswd.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+lppasswd.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+lppasswd.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+lppasswd.o: ../cups/transcode.h ../cups/md5-private.h
+lpstat.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+lpstat.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+lpstat.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+lpstat.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+lpstat.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+lpstat.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+lpstat.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+lpstat.o: ../cups/transcode.h
index cbe696988301e077e0ad89a6c453d036653c264a..6c401c7c50210005cd8198dba7475dffae01a3cd 100644 (file)
@@ -1,9 +1,10 @@
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
-ipptest.o: ../cups/cups-private.h ../cups/cups.h ../cups/ipp.h ../cups/http.h
-ipptest.o: ../cups/versioning.h ../cups/ppd.h ../cups/array.h ../cups/file.h
-ipptest.o: ../cups/language.h ../cups/string-private.h ../config.h
-ipptest.o: ../cups/debug-private.h ../cups/http-private.h ../cups/http.h
-ipptest.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
-ipptest.o: ../cups/language-private.h ../cups/transcode.h
-ipptest.o: ../cups/pwg-private.h
+ipptest.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+ipptest.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
+ipptest.o: ../cups/language.h ../cups/array.h ../cups/string-private.h
+ipptest.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
+ipptest.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
+ipptest.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
+ipptest.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
+ipptest.o: ../cups/transcode.h ../cups/file-private.h ../cups/cups-private.h
index 60d72fcd5a059ccff568f78b484c71f21f0757c9..f621fa66c39ee9add8dc2208f6252d1dc14e1f0b 100644 (file)
@@ -21,6 +21,9 @@ include ../Makedefs
 #
 
 TESTFILES      =       \
+                       create-printer-subscription.test \
+                       get-completed-jobs.test \
+                       get-jobs.test \
                        ipp-1.1.test \
                        ipp-2.0.test \
                        ipp-2.1.test \
@@ -34,7 +37,7 @@ TESTFILES     =       \
 # Make all targets...
 #
 
-all:   ipptest ipptest-static
+all:   ipptool ipptool-static
 
 
 #
@@ -56,7 +59,7 @@ unittests:
 #
 
 clean:
-       $(RM) ipptest ipptest.o ipptest-static
+       $(RM) ipptool ipptool.o ipptool-static
 
 
 #
@@ -64,7 +67,7 @@ clean:
 #
 
 depend:
-       makedepend -Y -I.. -fDependencies ipptest.c >/dev/null 2>&1
+       makedepend -Y -I.. -fDependencies ipptool.c >/dev/null 2>&1
 
 
 #
@@ -79,10 +82,10 @@ install:    all install-data install-headers install-libs install-exec
 #
 
 install-data:
-       echo Installing sample ipptest files in $(DATADIR)/ipptest...
-       $(INSTALL_DIR) -m 755 $(DATADIR)/ipptest
+       echo Installing sample ipptool files in $(DATADIR)/ipptool...
+       $(INSTALL_DIR) -m 755 $(DATADIR)/ipptool
        for file in $(TESTFILES); do \
-               $(INSTALL_DATA) $$file $(DATADIR)/ipptest; \
+               $(INSTALL_DATA) $$file $(DATADIR)/ipptool; \
        done
 
 
@@ -91,12 +94,12 @@ install-data:
 #
 
 install-exec:
-       echo Installing ipptest in $(BINDIR)...
+       echo Installing ipptool in $(BINDIR)...
        $(INSTALL_DIR) -m 755 $(BINDIR)
-       $(INSTALL_BIN) ipptest $(BINDIR)
+       $(INSTALL_BIN) ipptool $(BINDIR)
        if test "x$(SYMROOT)" != "x"; then \
                $(INSTALL_DIR) $(SYMROOT); \
-               cp ipptest $(SYMROOT); \
+               cp ipptool $(SYMROOT); \
        fi
 
 
@@ -122,21 +125,21 @@ uninstall:
 
 
 #
-# ipptest
+# ipptool
 #
 
-ipptest:       ipptest.o ../cups/$(LIBCUPS)
+ipptool:       ipptool.o ../cups/$(LIBCUPS)
        echo Linking $@...
-       $(CC) $(LDFLAGS) -o $@ ipptest.o $(LIBS)
+       $(CC) $(LDFLAGS) -o $@ ipptool.o $(LIBS)
 
 
 #
-# ipptest-static
+# ipptool-static
 #
 
-ipptest-static:        ipptest.o ../cups/$(LIBCUPSSTATIC)
+ipptool-static:        ipptool.o ../cups/$(LIBCUPSSTATIC)
        echo Linking $@...
-       $(CC) $(LDFLAGS) -o $@ ipptest.o  ../cups/$(LIBCUPSSTATIC) \
+       $(CC) $(LDFLAGS) -o $@ ipptool.o  ../cups/$(LIBCUPSSTATIC) \
                $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ)
 
 
index c6427ef76eac3ef728a4799d80cbfaf9ee421d8a..61959172954f7ea7e7d93712a47240549f6dc990 100644 (file)
@@ -1,36 +1,49 @@
 #
-# "$Id: 4.4-subscription-ops.test 4840 2005-11-14 21:53:30Z mike $"
+# "$Id$"
 #
-#   Verify that the CUPS subscription operations work.
+#   Create a printer subscription.
 #
+#   Copyright 2007-2010 by Apple Inc.
+#   Copyright 2001-2006 by Easy Software Products. All rights reserved.
+#
+#   These coded instructions, statements, and computer programs are the
+#   property of Apple Inc. and are protected by Federal copyright
+#   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+#   which should have been included with this file.  If this file is
+#   file is missing or damaged, see the license at "http://www.cups.org/".
+#
+# Usage:
+#
+#   ./ipptool -d recipient=uri printer-uri create-printer-subscription.test
+#
+
+
 {
        # The name of the test...
-       NAME "Add Printer Subscription w/Lease"
+       NAME "Create a printer subscription"
 
        # The operation to use
        OPERATION Create-Printer-Subscription
-       RESOURCE /
 
        # The attributes to send
-       GROUP operation
+       GROUP operation-attributes-tag
        ATTR charset attributes-charset utf-8
        ATTR language attributes-natural-language en
        ATTR uri printer-uri $uri
 
-        GROUP subscription
-       ATTR uri notify-recipient testnotify://nowait
+        GROUP subscription-attributes-tag
+       ATTR uri notify-recipient $recipient
        ATTR keyword notify-events printer-state-changed
 
        # What statuses are OK?
        STATUS successful-ok
 
        # What attributes do we expect?
-       EXPECT attributes-charset
-       EXPECT attributes-natural-language
-       EXPECT notify-subscription-id
+       EXPECT notify-subscription-id OF-TYPE integer WITH-VALUE >0
        DISPLAY notify-subscription-id
 }
 
+
 #
-# End of "$Id: 4.4-subscription-ops.test 4840 2005-11-14 21:53:30Z mike $"
+# End of "$Id$"
 #
diff --git a/test/get-completed-jobs.test b/test/get-completed-jobs.test
new file mode 100644 (file)
index 0000000..84ce9e6
--- /dev/null
@@ -0,0 +1,51 @@
+#
+# "$Id$"
+#
+#   Get list of completed jobs.
+#
+#   Copyright 2007-2010 by Apple Inc.
+#   Copyright 2001-2006 by Easy Software Products. All rights reserved.
+#
+#   These coded instructions, statements, and computer programs are the
+#   property of Apple Inc. and are protected by Federal copyright
+#   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+#   which should have been included with this file.  If this file is
+#   file is missing or damaged, see the license at "http://www.cups.org/".
+#
+# Usage:
+#
+#   ./ipptool printer-uri get-jobs.test
+#
+
+
+{
+       # The name of the test...
+       NAME "Get completed jobs"
+
+       # The operation to use
+       OPERATION Get-Jobs
+
+       # Attributes, starting in the operation group...
+       GROUP operation-attributes-tag
+       ATTR charset attributes-charset utf-8
+       ATTR language attributes-natural-language en
+       ATTR uri printer-uri $uri
+       ATTR keyword which-jobs completed
+       ATTR keyword requested-attributes
+            job-id,job-name,document-format,job-media-sheets-completed,job-originating-user-name
+
+       # What statuses are OK?
+       STATUS successful-ok
+
+       # What attributes to display
+       DISPLAY job-id
+       DISPLAY job-name
+       DISPLAY document-format
+       DISPLAY job-media-sheets-completed
+       DISPLAY job-originating-user-name
+}
+
+
+#
+# End of "$Id$".
+#
index 1b4ed20104ab7cbb3dc0abf8b4bbc83c5964aa4d..212b3fbc2fad8e269a083113b744fb51e8485037 100644 (file)
@@ -1,21 +1,50 @@
-# Get list of jobs
+#
+# "$Id$"
+#
+#   Get list of not-completed jobs.
+#
+#   Copyright 2007-2010 by Apple Inc.
+#   Copyright 2001-2006 by Easy Software Products. All rights reserved.
+#
+#   These coded instructions, statements, and computer programs are the
+#   property of Apple Inc. and are protected by Federal copyright
+#   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+#   which should have been included with this file.  If this file is
+#   file is missing or damaged, see the license at "http://www.cups.org/".
+#
+# Usage:
+#
+#   ./ipptool printer-uri get-jobs.test
+#
+
+
 {
        # The name of the test...
-       NAME "Get-Jobs"
-
-       # The resource to use for the POST
-       # RESOURCE /admin
+       NAME "Get pending jobs"
 
        # The operation to use
        OPERATION Get-Jobs
 
        # Attributes, starting in the operation group...
-       GROUP operation
+       GROUP operation-attributes-tag
        ATTR charset attributes-charset utf-8
        ATTR language attributes-natural-language en
        ATTR uri printer-uri $uri
-#      ATTR keyword which-jobs completed
+       ATTR keyword requested-attributes
+            job-id,job-name,document-format,job-media-sheets-completed,job-originating-user-name
 
        # What statuses are OK?
        STATUS successful-ok
+
+       # What attributes to display
+       DISPLAY job-id
+       DISPLAY job-name
+       DISPLAY document-format
+       DISPLAY job-media-sheets-completed
+       DISPLAY job-originating-user-name
 }
+
+
+#
+# End of "$Id$".
+#
index bdc1fd610c3b22b5bfcda1ede7755c8586103841..0d1394ff4a24cf93c6bbc43b69ad9a1fc17314d8 100644 (file)
@@ -14,7 +14,7 @@
 #
 # Usage:
 #
-#   ./ipptest -f filename printer-uri ipp-1.1.test
+#   ./ipptool -f filename -t printer-uri ipp-1.1.test
 #
 
 # Test that a request-id value of 0 is not accepted.
index 0c6778804e73f77e3ebfbc7dec954cf94c0df26c..3030f21d713cc8adc1f791625a049ee320a175a7 100644 (file)
@@ -14,7 +14,7 @@
 #
 # Usage:
 #
-#   ./ipptest -V 2.0 -f filename printer-uri ipp-2.0.test
+#   ./ipptool -V 2.0 -f filename -t printer-uri ipp-2.0.test
 #
 
 # Do all of the IPP/1.1 tests as an IPP/2.0 client
@@ -39,66 +39,31 @@ INCLUDE "ipp-1.1.test"
        STATUS successful-ok
 
        # Job template attributes
-       EXPECT ?media-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT ?media-ready OF-TYPE keyword|name IN-GROUP printer-attributes-tag
-       EXPECT ?media-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag
-       EXPECT ?multiple-document-handling-default OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(single-document|separate-documents-uncollated-copies|separate-documents-collated-copies|single-document-new-sheet)$$/"
-       EXPECT ?multiple-document-handling-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(single-document|separate-documents-uncollated-copies|separate-documents-collated-copies|single-document-new-sheet)$$/"
-       EXPECT ?number-up-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0
-       EXPECT ?number-up-supported OF-TYPE integer|rangeOfInteger IN-GROUP printer-attributes-tag WITH-VALUE >0
-       EXPECT ?number-up-supported WITH-VALUE 1
-       EXPECT ?orientation-requested-default OF-TYPE enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5,6
-       EXPECT ?orientation-requested-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5,6
-       EXPECT ?pages-ranges-supported OF-TYPE boolean IN-GROUP printer-attributes-tag
-       EXPECT ?print-quality-default OF-TYPE enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5
-       EXPECT ?print-quality-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5
-       EXPECT ?printer-resolution-default OF-TYPE resolution IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT ?printer-resolution-supported OF-TYPE resolution IN-GROUP printer-attributes-tag
-       EXPECT ?sides-default OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/"
-       EXPECT ?sides-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/"
+       EXPECT copies-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0
+       EXPECT copies-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag
+       EXPECT finishings-default OF-TYPE enum IN-GROUP printer-attributes-tag
+       EXPECT finishings-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3
+       EXPECT media-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag COUNT 1
+       EXPECT media-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag
+       EXPECT orientation-requested-default OF-TYPE enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5,6
+       EXPECT orientation-requested-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5,6
+       EXPECT output-bin-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag COUNT 1
+       EXPECT output-bin-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag
+       EXPECT print-quality-default OF-TYPE enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5
+       EXPECT print-quality-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5
+       EXPECT printer-resolution-default OF-TYPE resolution IN-GROUP printer-attributes-tag COUNT 1
+       EXPECT printer-resolution-supported OF-TYPE resolution IN-GROUP printer-attributes-tag
+       EXPECT sides-default OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/"
+       EXPECT sides-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/"
 
        # Printer description attributes
-       EXPECT ?color-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT ?job-impressions-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT ?job-k-octets-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT ?job-media-sheets-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT ?multiple-document-jobs-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT ?multiple-operation-time-out OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0
-       EXPECT ?pages-per-minute OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT ?pages-per-minute-color OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT ?printer-driver-installer OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT ?printer-info OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
-       EXPECT ?printer-location OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
-       EXPECT ?printer-make-and-model OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
-       EXPECT ?printer-message-from-operator OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
-       EXPECT ?printer-more-info OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT ?printer-more-info-manufacturer OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT ?printer-state-message OF-TYPE text IN-GROUP printer-attributes-tag
-       EXPECT ?reference-uri-schemes-supported OF-TYPE uriScheme IN-GROUP printer-attributes-tag
-       EXPECT charset-configured OF-TYPE charset IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT charset-supported OF-TYPE charset IN-GROUP printer-attributes-tag WITH-VALUE utf-8
-       EXPECT compression-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE none
-       EXPECT document-format-default OF-TYPE mimeMediaType IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT document-format-supported OF-TYPE mimeMediaType IN-GROUP printer-attributes-tag
-       EXPECT generated-natural-language-supported OF-TYPE naturalLanguage IN-GROUP printer-attributes-tag
-       EXPECT ipp-versions-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE 1.1
-       EXPECT natural-language-configured OF-TYPE naturalLanguage IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT operations-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 0x0002 # Print-Job
-       # Not requiring 0x0004 Validate-Job since it is deprecated
-       EXPECT operations-supported WITH-VALUE 0x0008 # Cancel-Job
-       EXPECT operations-supported WITH-VALUE 0x0009 # Get-Job-Attributes
-       EXPECT operations-supported WITH-VALUE 0x000A # Get-Jobs
-       EXPECT operations-supported WITH-VALUE 0x000B # Get-Printer-Attributes
-       EXPECT pdl-override-supported OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT printer-is-accepting-jobs OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT printer-name OF-TYPE name IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{1,127}$$/"
-       EXPECT printer-state OF-TYPE enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5
-       EXPECT printer-state-reasons OF-TYPE keyword IN-GROUP printer-attributes-tag
-       EXPECT printer-up-time OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0
-       EXPECT printer-uri-supported OF-TYPE uri IN-GROUP printer-attributes-tag SAME-COUNT-AS uri-security-supported
-       EXPECT queued-job-count OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT uri-authentication-supported OF-TYPE keyword IN-GROUP printer-attributes-tag
-       EXPECT uri-security-supported OF-TYPE keyword IN-GROUP printer-attributes-tag SAME-COUNT-AS uri-authentication-supported
+       EXPECT color-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1
+       EXPECT pages-per-minute OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
+       EXPECT pages-per-minute-color OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
+       EXPECT printer-info OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
+       EXPECT printer-location OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
+       EXPECT printer-make-and-model OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
+       EXPECT printer-more-info OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1
 }
 
 
index d35eab0aa4bbad12a904d741976ceafa4c28ab5f..a3b94effdb5a575ebbfc1778ef2506c1745f6c1d 100644 (file)
@@ -14,7 +14,7 @@
 #
 # Usage:
 #
-#   ./ipptest -V 2.1 -f filename printer-uri ipp-2.0.test
+#   ./ipptool -V 2.1 -f filename -t printer-uri ipp-2.1.test
 #
 
 # Do all of the IPP/1.1 and IPP/2.0 tests as an IPP/2.1 client
@@ -37,66 +37,56 @@ INCLUDE "ipp-2.0.test"
        STATUS successful-ok
 
        # Job template attributes
-       EXPECT ?media-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT ?media-ready OF-TYPE keyword|name IN-GROUP printer-attributes-tag
-       EXPECT ?media-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag
-       EXPECT ?multiple-document-handling-default OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(single-document|separate-documents-uncollated-copies|separate-documents-collated-copies|single-document-new-sheet)$$/"
-       EXPECT ?multiple-document-handling-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(single-document|separate-documents-uncollated-copies|separate-documents-collated-copies|single-document-new-sheet)$$/"
-       EXPECT ?number-up-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0
-       EXPECT ?number-up-supported OF-TYPE integer|rangeOfInteger IN-GROUP printer-attributes-tag WITH-VALUE >0
-       EXPECT ?number-up-supported WITH-VALUE 1
-       EXPECT ?orientation-requested-default OF-TYPE enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5,6
-       EXPECT ?orientation-requested-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5,6
-       EXPECT ?pages-ranges-supported OF-TYPE boolean IN-GROUP printer-attributes-tag
-       EXPECT ?print-quality-default OF-TYPE enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5
-       EXPECT ?print-quality-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5
-       EXPECT ?printer-resolution-default OF-TYPE resolution IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT ?printer-resolution-supported OF-TYPE resolution IN-GROUP printer-attributes-tag
-       EXPECT ?sides-default OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/"
-       EXPECT ?sides-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/"
+       EXPECT job-hold-until-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag COUNT 1
+       EXPECT job-hold-until-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-VALUE no-hold
+       EXPECT job-priority-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0,<101
+       EXPECT job-priority-supported OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0,<101
+       EXPECT job-settable-attributes-supported OF-TYPE keyword IN-GROUP printer-attributes-tag
+       EXPECT job-sheets-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag
+       EXPECT job-sheets-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-VALUE none
+       EXPECT media-col-default OF-TYPE collection IN-GROUP printer-attributes-tag COUNT 1
+       EXPECT media-col-supported OF-TYPE keyword IN-GROUP printer-attributes-tag
+       EXPECT media-col-supported WITH-VALUE media-size
+       EXPECT media-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag COUNT 1
+       EXPECT media-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag
+
+       # Subscription attributes
+       EXPECT notify-events-default OF-TYPE keyword IN-GROUP printer-attributes-tag
+       EXPECT notify-events-supported OF-TYPE keyword IN-GROUP printer-attributes-tag
+       EXPECT notify-lease-duration-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
+       EXPECT notify-lease-duration-supported OF-TYPE integer|rangeOfInteger IN-GROUP printer-attributes-tag
+       EXPECT notify-max-events-supported OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >1
+       EXPECT notify-pull-method-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE ippget
 
        # Printer description attributes
-       EXPECT ?color-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT ?job-impressions-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT ?job-k-octets-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT ?job-media-sheets-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT ?multiple-document-jobs-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT ?multiple-operation-time-out OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0
-       EXPECT ?pages-per-minute OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT ?pages-per-minute-color OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT ?printer-driver-installer OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT ?printer-info OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
-       EXPECT ?printer-location OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
-       EXPECT ?printer-make-and-model OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
-       EXPECT ?printer-message-from-operator OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
-       EXPECT ?printer-more-info OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT ?printer-more-info-manufacturer OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT ?printer-state-message OF-TYPE text IN-GROUP printer-attributes-tag
-       EXPECT ?reference-uri-schemes-supported OF-TYPE uriScheme IN-GROUP printer-attributes-tag
-       EXPECT charset-configured OF-TYPE charset IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT charset-supported OF-TYPE charset IN-GROUP printer-attributes-tag WITH-VALUE utf-8
-       EXPECT compression-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE none
-       EXPECT document-format-default OF-TYPE mimeMediaType IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT document-format-supported OF-TYPE mimeMediaType IN-GROUP printer-attributes-tag
-       EXPECT generated-natural-language-supported OF-TYPE naturalLanguage IN-GROUP printer-attributes-tag
-       EXPECT ipp-versions-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE 1.1
-       EXPECT natural-language-configured OF-TYPE naturalLanguage IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT operations-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 0x0002 # Print-Job
-       # Not requiring 0x0004 Validate-Job since it is deprecated
-       EXPECT operations-supported WITH-VALUE 0x0008 # Cancel-Job
-       EXPECT operations-supported WITH-VALUE 0x0009 # Get-Job-Attributes
-       EXPECT operations-supported WITH-VALUE 0x000A # Get-Jobs
-       EXPECT operations-supported WITH-VALUE 0x000B # Get-Printer-Attributes
-       EXPECT pdl-override-supported OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT printer-is-accepting-jobs OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT printer-name OF-TYPE name IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{1,127}$$/"
-       EXPECT printer-state OF-TYPE enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5
+       EXPECT ippget-event-life OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
+       EXPECT multiple-operation-time-out OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0
+
+       EXPECT operations-supported WITH-VALUE 0x0005 # Create-Job
+       EXPECT operations-supported WITH-VALUE 0x0006 # Send-Document
+       EXPECT operations-supported WITH-VALUE 0x000C # Hold-Job
+       EXPECT operations-supported WITH-VALUE 0x000D # Release-Job
+       EXPECT operations-supported WITH-VALUE 0x000E # Restart-Job
+       EXPECT operations-supported WITH-VALUE 0x0010 # Pause-Printer
+       EXPECT operations-supported WITH-VALUE 0x0011 # Resume-Printer
+       EXPECT operations-supported WITH-VALUE 0x0012 # Purge-Jobs
+       EXPECT operations-supported WITH-VALUE 0x0013 # Set-Printer-Attributes
+       EXPECT operations-supported WITH-VALUE 0x0014 # Set-Job-Attributes
+       EXPECT operations-supported WITH-VALUE 0x0015 # Get-Printer-Supported-Values
+       EXPECT operations-supported WITH-VALUE 0x0016 # Create-Printer-Subscriptions
+       EXPECT operations-supported WITH-VALUE 0x0018 # Get-Subscription-Attributes
+       EXPECT operations-supported WITH-VALUE 0x0019 # Get-Subscriptions
+       EXPECT operations-supported WITH-VALUE 0x001A # Renew-Subscription
+       EXPECT operations-supported WITH-VALUE 0x001B # Cancel-Subscription
+       EXPECT operations-supported WITH-VALUE 0x001C # Get-Notifications
+       EXPECT operations-supported WITH-VALUE 0x0022 # Enable-Printer
+       EXPECT operations-supported WITH-VALUE 0x0023 # Disable-Printer
+
+       ?EXPECT printer-alert OF-TYPE octetString IN-GROUP printer-attributes-tag
+       ?EXPECT printer-alert-description OF-TYPE text IN-GROUP printer-attributes-tag SAME-COUNT-AS printer-alert
+       EXPECT printer-settable-attributes-supported OF-TYPE keyword IN-GROUP printer-attributes-tag
+       EXPECT printer-state-change-time OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
        EXPECT printer-state-reasons OF-TYPE keyword IN-GROUP printer-attributes-tag
-       EXPECT printer-up-time OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0
-       EXPECT printer-uri-supported OF-TYPE uri IN-GROUP printer-attributes-tag SAME-COUNT-AS uri-security-supported
-       EXPECT queued-job-count OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
-       EXPECT uri-authentication-supported OF-TYPE keyword IN-GROUP printer-attributes-tag
-       EXPECT uri-security-supported OF-TYPE keyword IN-GROUP printer-attributes-tag SAME-COUNT-AS uri-authentication-supported
 }
 
 
similarity index 88%
rename from test/ipptest.c
rename to test/ipptool.c
index 9f49a71d33d0f6f172e8854422da135b91f1ea7d..6d56f1c54f95b9d5ac17042fa5687085e788cc6b 100644 (file)
@@ -1,7 +1,7 @@
 /*
- * "$Id: ipptest.c 9000 2010-02-24 06:29:38Z mike $"
+ * "$Id$"
  *
- *   IPP test command for CUPS.
+ *   ipptool command for CUPS.
  *
  *   Copyright 2007-2010 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
@@ -27,7 +27,9 @@
  *                         dateTime value.
  *   print_attr()        - Print an attribute on the screen.
  *   print_col()         - Print a collection attribute on the screen.
+ *   print_csv()         - Print a line of CSV text.
  *   print_fatal_error() - Print a fatal error message.
+ *   print_line()        - Print a line of formatted text.
  *   print_test_error()  - Print a test error message.
  *   print_xml_header()  - Print a standard XML plist header.
  *   print_xml_string()  - Print an XML string with escaping.
  * Types...
  */
 
-typedef enum                           /**** How to send request data ****/
+typedef enum _cups_transfer_e          /**** How to send request data ****/
 {
   _CUPS_TRANSFER_AUTO,                 /* Chunk for files, length for static */
   _CUPS_TRANSFER_CHUNKED,              /* Chunk always */
   _CUPS_TRANSFER_LENGTH                        /* Length always */
 } _cups_transfer_t;
 
+typedef enum _cups_output_e            /**** Output mode ****/
+{
+  _CUPS_OUTPUT_QUIET,                  /* No output */
+  _CUPS_OUTPUT_TEST,                   /* Traditional CUPS test output */
+  _CUPS_OUTPUT_PLIST,                  /* XML plist test output */
+  _CUPS_OUTPUT_LIST,                   /* Tabular list output */
+  _CUPS_OUTPUT_CSV                     /* Comma-separated values output */
+} _cups_output_t;
+
 typedef struct _cups_expect_s          /**** Expected attribute info ****/
 {
   int          optional,               /* Optional attribute? */
@@ -110,9 +121,10 @@ typedef struct _cups_vars_s                /**** Set of variables ****/
 
 _cups_transfer_t Transfer = _CUPS_TRANSFER_AUTO;
                                        /* How to transfer requests */
+_cups_output_t Output = _CUPS_OUTPUT_LIST;
+                                       /* Output mode */
 int            Verbosity = 0,          /* Show all attributes? */
                Version = 11,           /* Default IPP version */
-               XML = 0,                /* Produce XML output? */
                XMLHeader = 0;          /* 1 if header is written */
 const char * const URIStatusStrings[] =        /* URI status strings */
 {
@@ -153,11 +165,15 @@ static char       *get_variable(_cups_vars_t *vars, const char *name);
 static char    *iso_date(ipp_uchar_t *date);
 static void    print_attr(ipp_attribute_t *attr);
 static void    print_col(ipp_t *col);
+static void    print_csv(ipp_attribute_t *attr, int num_displayed,
+                         char **displayed, size_t *widths);
 static void    print_fatal_error(const char *s, ...)
 #ifdef __GNUC__
 __attribute__ ((__format__ (__printf__, 1, 2)))
 #endif /* __GNUC__ */
 ;
+static void    print_line(ipp_attribute_t *attr, int num_displayed,
+                          char **displayed, size_t *widths);
 static void    print_test_error(const char *s, ...)
 #ifdef __GNUC__
 __attribute__ ((__format__ (__printf__, 1, 2)))
@@ -185,11 +201,17 @@ main(int  argc,                           /* I - Number of command-line args */
   int                  status;         /* Status of tests... */
   char                 *opt,           /* Current option */
                        name[1024],     /* Name/value buffer */
-                       *value;         /* Pointer to value */
+                       *value,         /* Pointer to value */
+                       filename[1024], /* Real filename */
+                       testname[1024]; /* Real test filename */
   const char           *testfile;      /* Test file to use */
-  int                  interval;       /* Test interval */
+  int                  interval,       /* Test interval */
+                       repeat;         /* Repeat count */
   _cups_vars_t         vars;           /* Variables */
   http_uri_status_t    uri_status;     /* URI separation status */
+  _cups_globals_t      *cg = _cupsGlobals();
+                                       /* Global data */
+
 
 
  /*
@@ -204,12 +226,13 @@ main(int  argc,                           /* I - Number of command-line args */
  /*
   * We need at least:
   *
-  *     ipptest URI testfile
+  *     ipptool URI testfile
   */
 
-  testfile = NULL;
-  status   = 0;
   interval = 0;
+  repeat   = 0;
+  status   = 0;
+  testfile = NULL;
 
   for (i = 1; i < argc; i ++)
   {
@@ -219,7 +242,11 @@ main(int  argc,                            /* I - Number of command-line args */
       {
         switch (*opt)
         {
-         case 'E' : /* Encrypt */
+          case 'C' : /* Enable HTTP chunking */
+              Transfer = _CUPS_TRANSFER_CHUNKED;
+              break;
+
+         case 'E' : /* Encrypt with TLS */
 #ifdef HAVE_SSL
              vars.encryption = HTTP_ENCRYPT_REQUIRED;
 #else
@@ -229,13 +256,27 @@ main(int  argc,                           /* I - Number of command-line args */
 #endif /* HAVE_SSL */
              break;
 
+          case 'L' : /* Disable HTTP chunking */
+              Transfer = _CUPS_TRANSFER_LENGTH;
+              break;
+
+         case 'S' : /* Encrypt with SSL */
+#ifdef HAVE_SSL
+             vars.encryption = HTTP_ENCRYPT_ALWAYS;
+#else
+             _cupsLangPrintf(stderr,
+                             _("%s: Sorry, no encryption support compiled in\n"),
+                             argv[0]);
+#endif /* HAVE_SSL */
+             break;
+
          case 'V' : /* Set IPP version */
              i ++;
 
              if (i >= argc)
              {
                _cupsLangPuts(stderr,
-                             _("ipptest: Missing version for \"-V\".\n"));
+                             _("ipptool: Missing version for \"-V\".\n"));
                usage();
               }
 
@@ -252,25 +293,25 @@ main(int  argc,                           /* I - Number of command-line args */
              else
              {
                _cupsLangPrintf(stderr,
-                               _("ipptest: Bad version %s for \"-V\".\n"),
+                               _("ipptool: Bad version %s for \"-V\".\n"),
                                argv[i]);
                usage();
              }
              break;
 
           case 'X' : /* Produce XML output */
-             XML = 1;
+             Output = _CUPS_OUTPUT_PLIST;
 
-              if (interval)
+              if (interval || repeat)
              {
-               _cupsLangPuts(stderr, _("ipptest: \"-i\" is incompatible with "
-                                       "\"-x\".\n"));
+               _cupsLangPuts(stderr, _("ipptool: \"-i\" and \"-n\" are "
+                                       "incompatible with -X\".\n"));
                usage();
              }
              break;
 
-          case 'c' : /* Enable HTTP chunking */
-              Transfer = _CUPS_TRANSFER_CHUNKED;
+          case 'c' : /* CSV output */
+              Output = _CUPS_OUTPUT_CSV;
               break;
 
           case 'd' : /* Define a variable */
@@ -279,7 +320,7 @@ main(int  argc,                             /* I - Number of command-line args */
              if (i >= argc)
              {
                _cupsLangPuts(stderr,
-                             _("ipptest: Missing name=value for \"-d\".\n"));
+                             _("ipptool: Missing name=value for \"-d\".\n"));
                usage();
               }
 
@@ -298,35 +339,73 @@ main(int  argc,                           /* I - Number of command-line args */
              if (i >= argc)
              {
                _cupsLangPuts(stderr,
-                             _("ipptest: Missing filename for \"-f\".\n"));
+                             _("ipptool: Missing filename for \"-f\".\n"));
                usage();
               }
 
-             vars.filename = argv[i];
+              if (access(argv[i], 0) && argv[i][0] != '/')
+              {
+                snprintf(filename, sizeof(filename), "%s/ipptool/%s",
+                         cg->cups_datadir, argv[i]);
+                if (access(argv[i], 0))
+                 vars.filename = argv[i];
+                else
+                  vars.filename = filename;
+              }
+              else
+               vars.filename = argv[i];
              break;
 
           case 'i' : /* Test every N seconds */
-             i++;
+             i ++;
 
              if (i >= argc)
              {
                _cupsLangPuts(stderr,
-                             _("ipptest: Missing seconds for \"-i\".\n"));
+                             _("ipptool: Missing seconds for \"-i\".\n"));
                usage();
               }
              else
                interval = atoi(argv[i]);
 
-              if (XML && interval)
+              if (Output == _CUPS_OUTPUT_PLIST && interval)
              {
-               _cupsLangPuts(stderr, _("ipptest: \"-i\" is incompatible with "
-                                       "\"-x\".\n"));
+               _cupsLangPuts(stderr, _("ipptool: \"-i\" is incompatible with "
+                                       "\"-X\".\n"));
                usage();
              }
              break;
 
-          case 'l' : /* Disable HTTP chunking */
-              Transfer = _CUPS_TRANSFER_LENGTH;
+          case 'l' : /* List as a table */
+              Output = _CUPS_OUTPUT_LIST;
+              break;
+
+          case 'n' : /* Repeat count */
+              i ++;
+
+             if (i >= argc)
+             {
+               _cupsLangPuts(stderr,
+                             _("ipptool: Missing count for \"-n\".\n"));
+               usage();
+              }
+             else
+               repeat = atoi(argv[i]);
+
+              if (Output == _CUPS_OUTPUT_PLIST && repeat)
+             {
+               _cupsLangPuts(stderr, _("ipptool: \"-n\" is incompatible with "
+                                       "\"-X\".\n"));
+               usage();
+             }
+             break;
+
+          case 'q' : /* Be quiet */
+              Output = _CUPS_OUTPUT_QUIET;
+              break;
+
+          case 't' : /* CUPS test output */
+              Output = _CUPS_OUTPUT_TEST;
               break;
 
           case 'v' : /* Be verbose */
@@ -334,7 +413,7 @@ main(int  argc,                             /* I - Number of command-line args */
              break;
 
          default :
-             _cupsLangPrintf(stderr, _("ipptest: Unknown option \"-%c\".\n"),
+             _cupsLangPrintf(stderr, _("ipptool: Unknown option \"-%c\".\n"),
                              *opt);
              usage();
              break;
@@ -351,7 +430,7 @@ main(int  argc,                             /* I - Number of command-line args */
 
       if (vars.uri)
       {
-        _cupsLangPuts(stderr, _("ipptest: May only specify a single URI.\n"));
+        _cupsLangPuts(stderr, _("ipptool: May only specify a single URI.\n"));
         usage();
       }
 
@@ -365,7 +444,7 @@ main(int  argc,                             /* I - Number of command-line args */
 
       if (uri_status != HTTP_URI_OK)
       {
-        _cupsLangPrintf(stderr, _("ipptest: Bad URI - %s.\n"),
+        _cupsLangPrintf(stderr, _("ipptool: Bad URI - %s.\n"),
                        URIStatusStrings[uri_status - HTTP_URI_OVERFLOW]);
         return (1);
       }
@@ -373,7 +452,7 @@ main(int  argc,                             /* I - Number of command-line args */
       if (strcmp(vars.scheme, "http") && strcmp(vars.scheme, "https") &&
           strcmp(vars.scheme, "ipp"))
       {
-        _cupsLangPuts(stderr, _("ipptest: Only http, https, and ipp URIs are "
+        _cupsLangPuts(stderr, _("ipptool: Only http, https, and ipp URIs are "
                                "supported."));
        return (1);
       }
@@ -386,11 +465,21 @@ main(int  argc,                           /* I - Number of command-line args */
 
       if (!vars.uri)
       {
-        _cupsLangPuts(stderr, _("ipptest: URI required before test file."));
+        _cupsLangPuts(stderr, _("ipptool: URI required before test file."));
        usage();
       }
 
-      testfile = argv[i];
+      if (access(argv[i], 0) && argv[i][0] != '/')
+      {
+        snprintf(testname, sizeof(testname), "%s/ipptool/%s", cg->cups_datadir,
+                 argv[i]);
+        if (access(testname, 0))
+          testfile = argv[i];
+        else
+          testfile = testname;
+      }
+      else
+        testfile = argv[i];
 
       if (!do_tests(&vars, testfile))
         status = 1;
@@ -404,8 +493,17 @@ main(int  argc,                            /* I - Number of command-line args */
   * Loop if the interval is set...
   */
 
-  if (XML)
+  if (Output == _CUPS_OUTPUT_PLIST)
     print_xml_trailer(!status, NULL);
+  else if (interval && repeat > 0)
+  {
+    while (repeat > 1)
+    {
+      sleep(interval);
+      do_tests(&vars, testfile);
+      repeat --;
+    }
+  }
   else if (interval)
   {
     for (;;)
@@ -474,7 +572,8 @@ do_tests(_cups_vars_t *vars,                /* I - Variables */
                *expect,                /* Current expected attribute */
                *last_expect;           /* Last EXPECT (for predicates) */
   int          num_displayed = 0;      /* Number of displayed attributes */
-  char         *displayed[100];        /* Displayed attributes */
+  char         *displayed[200];        /* Displayed attributes */
+  size_t       widths[200];            /* Width of columns */
 
 
  /*
@@ -504,9 +603,9 @@ do_tests(_cups_vars_t *vars,                /* I - Variables */
   * Loop on tests...
   */
 
-  if (XML)
+  if (Output == _CUPS_OUTPUT_PLIST)
     print_xml_header();
-  else
+  else if (Output == _CUPS_OUTPUT_TEST)
     printf("\"%s\":\n", testfile);
 
   CUPS_SRAND(time(NULL));
@@ -853,7 +952,7 @@ do_tests(_cups_vars_t *vars,                /* I - Variables */
          goto test_error;
        }
 
-       if ((op = ippOpValue(token)) < 0)
+       if ((op = ippOpValue(token)) < 0 && (op = strtol(token, NULL, 0)) == 0)
        {
          print_fatal_error("Bad OPERATION code \"%s\" on line %d.", token,
                            linenum);
@@ -1012,7 +1111,10 @@ do_tests(_cups_vars_t *vars,             /* I - Variables */
                                        /* Collection value */
 
                 if (col)
+                {
                  lastcol = ippAddCollection(request, group, attr, col);
+                 ippDelete(col);
+               }
                else
                  goto test_error;
               }
@@ -1080,7 +1182,7 @@ do_tests(_cups_vars_t *vars,              /* I - Variables */
          goto test_error;
        }
 
-        expand_variables(vars, token, temp, sizeof(token));    
+        expand_variables(vars, token, temp, sizeof(token));
        get_filename(testfile, filename, token, sizeof(filename));
       }
       else if (!strcasecmp(token, "STATUS"))
@@ -1346,7 +1448,7 @@ do_tests(_cups_vars_t *vars,              /* I - Variables */
     request->request.op.operation_id = op;
     request->request.op.request_id   = request_id;
 
-    if (XML)
+    if (Output == _CUPS_OUTPUT_PLIST)
     {
       puts("<dict>");
       puts("<key>Name</key>");
@@ -1359,7 +1461,7 @@ do_tests(_cups_vars_t *vars,              /* I - Variables */
        print_attr(attrptr);
       puts("</dict>");
     }
-    else
+    else if (Output == _CUPS_OUTPUT_TEST)
     {
       if (Verbosity)
       {
@@ -1537,7 +1639,7 @@ do_tests(_cups_vars_t *vars,              /* I - Variables */
               found->group_tag != expect->in_group))
           {
            pass = 0;
-           break;          
+           break;
           }
 
           if (found &&
@@ -1568,7 +1670,7 @@ do_tests(_cups_vars_t *vars,              /* I - Variables */
       }
     }
 
-    if (XML)
+    if (Output == _CUPS_OUTPUT_PLIST)
     {
       puts("<key>Successful</key>");
       puts(pass ? "<true />" : "<false />");
@@ -1582,7 +1684,7 @@ do_tests(_cups_vars_t *vars,              /* I - Variables */
        print_attr(attrptr);
       puts("</dict>");
     }
-    else
+    else if (Output == _CUPS_OUTPUT_TEST)
     {
       puts(pass ? "PASS]" : "FAIL]");
 
@@ -1601,23 +1703,79 @@ do_tests(_cups_vars_t *vars,            /* I - Variables */
        }
       }
     }
+    else if (!pass)
+      fprintf(stderr, "%s\n", cupsLastErrorString());
 
-    if (pass && !XML && !Verbosity && num_displayed > 0)
+    if (pass && Output != _CUPS_OUTPUT_PLIST && Output != _CUPS_OUTPUT_QUIET &&
+        !Verbosity && num_displayed > 0)
     {
-      for (attrptr = response->attrs;
-          attrptr != NULL;
-          attrptr = attrptr->next)
-       if (attrptr->name)
-         for (i = 0; i < num_displayed; i ++)
-           if (!strcmp(displayed[i], attrptr->name))
+      if (Output >= _CUPS_OUTPUT_LIST)
+      {
+       size_t  width;                  /* Length of value */
+
+
+        for (i = 0; i < num_displayed; i ++)
+        {
+          widths[i] = strlen(displayed[i]);
+
+          for (attrptr = ippFindAttribute(response, displayed[i], IPP_TAG_ZERO);
+               attrptr;
+               attrptr = ippFindNextAttribute(response, displayed[i],
+                                              IPP_TAG_ZERO))
+          {
+            width = _ippAttrString(attrptr, NULL, 0);
+            if (width > widths[i])
+              widths[i] = width;
+          }
+        }
+
+        if (Output == _CUPS_OUTPUT_CSV)
+         print_csv(NULL, num_displayed, displayed, widths);
+       else
+         print_line(NULL, num_displayed, displayed, widths);
+
+        attrptr = response->attrs;
+
+        while (attrptr)
+        {
+         while (attrptr && attrptr->group_tag <= IPP_TAG_OPERATION)
+           attrptr = attrptr->next;
+
+          if (attrptr)
+          {
+            if (Output == _CUPS_OUTPUT_CSV)
+             print_csv(attrptr, num_displayed, displayed, widths);
+           else
+             print_line(attrptr, num_displayed, displayed, widths);
+
+            while (attrptr && attrptr->group_tag > IPP_TAG_OPERATION)
+              attrptr = attrptr->next;
+          }
+        }
+      }
+      else
+      {
+       for (attrptr = response->attrs;
+            attrptr != NULL;
+            attrptr = attrptr->next)
+       {
+         if (attrptr->name)
+         {
+           for (i = 0; i < num_displayed; i ++)
            {
-             print_attr(attrptr);
-             break;
+             if (!strcmp(displayed[i], attrptr->name))
+             {
+               print_attr(attrptr);
+               break;
+             }
            }
+         }
+       }
+      }
     }
     else if (!pass)
     {
-      if (XML)
+      if (Output == _CUPS_OUTPUT_PLIST)
       {
        puts("<key>Errors</key>");
        puts("<array>");
@@ -1773,7 +1931,7 @@ do_tests(_cups_vars_t *vars,              /* I - Variables */
 
          if (expect->if_undefined && get_variable(vars, expect->if_undefined))
            continue;
-      
+
          found = ippFindAttribute(response, expect->name, IPP_TAG_ZERO);
 
          if (found && expect->not_expect)
@@ -1783,7 +1941,7 @@ do_tests(_cups_vars_t *vars,              /* I - Variables */
          else if (found)
          {
            if (!expect_matches(expect, found->value_tag))
-             print_test_error("EXPECTED: %s OF-TYPE %s (got %s)", 
+             print_test_error("EXPECTED: %s OF-TYPE %s (got %s)",
                               expect->name, expect->of_type,
                               ippTagString(found->value_tag));
 
@@ -1796,10 +1954,10 @@ do_tests(_cups_vars_t *vars,            /* I - Variables */
            {
              if (expect->with_regex)
                print_test_error("EXPECTED: %s WITH-VALUE /%s/",
-                                expect->name, expect->with_value);         
+                                expect->name, expect->with_value);
              else
                print_test_error("EXPECTED: %s WITH-VALUE \"%s\"",
-                                expect->name, expect->with_value);         
+                                expect->name, expect->with_value);
            }
 
            if (expect->count > 0 && found->num_values != expect->count)
@@ -1826,11 +1984,11 @@ do_tests(_cups_vars_t *vars,            /* I - Variables */
        }
       }
 
-      if (XML)
+      if (Output == _CUPS_OUTPUT_PLIST)
        puts("</array>");
     }
 
-    if (XML)
+    if (Output == _CUPS_OUTPUT_PLIST)
       puts("</dict>");
 
     ippDelete(response);
@@ -1855,7 +2013,7 @@ do_tests(_cups_vars_t *vars,              /* I - Variables */
       if (expect->if_defined)
         free(expect->if_defined);
       if (expect->if_undefined)
-        free(expect->if_undefined);  
+        free(expect->if_undefined);
       if (expect->with_value)
         free(expect->with_value);
     }
@@ -1905,7 +2063,7 @@ do_tests(_cups_vars_t *vars,              /* I - Variables */
     if (expect->if_defined)
       free(expect->if_defined);
     if (expect->if_undefined)
-      free(expect->if_undefined);  
+      free(expect->if_undefined);
     if (expect->with_value)
       free(expect->with_value);
   }
@@ -2022,7 +2180,7 @@ expand_variables(_cups_vars_t *vars,      /* I - Variables */
 /*
  * 'expect_matches()' - Return true if the tag matches the specification.
  */
+
 static int                             /* O - 1 if matches, 0 otherwise */
 expect_matches(
     _cups_expect_t *expect,            /* I - Expected attribute */
@@ -2056,17 +2214,17 @@ expect_matches(
 
     if ((sep = *next) != '\0')
       *next = '\0';
-  
+
    /*
     * Support some meta-types to make it easier to write the test file.
     */
 
     if (!strcmp(of_type, "text"))
-      match = value_tag == IPP_TAG_TEXTLANG || value_tag == IPP_TAG_TEXT;            
+      match = value_tag == IPP_TAG_TEXTLANG || value_tag == IPP_TAG_TEXT;
     else if (!strcmp(of_type, "name"))
-      match = value_tag == IPP_TAG_NAMELANG || value_tag == IPP_TAG_NAME;    
+      match = value_tag == IPP_TAG_NAMELANG || value_tag == IPP_TAG_NAME;
     else if (!strcmp(of_type, "collection"))
-      match = value_tag == IPP_TAG_BEGIN_COLLECTION;   
+      match = value_tag == IPP_TAG_BEGIN_COLLECTION;
     else
       match = value_tag == ippTagValue(of_type);
 
@@ -2257,7 +2415,10 @@ get_collection(_cups_vars_t *vars,       /* I  - Variables */
                                      /* Collection value */
 
              if (subcol)
+             {
                lastcol = ippAddCollection(col, IPP_TAG_ZERO, attr, subcol);
+               ippDelete(subcol);
+             }
              else
                goto col_error;
            }
@@ -2332,10 +2493,10 @@ get_filename(const char *testfile,      /* I - Current test file */
   if (*src == '<' && src[strlen(src) - 1] == '>')
   {
    /*
-    * Map <filename> to CUPS_DATADIR/ipptest/filename...
+    * Map <filename> to CUPS_DATADIR/ipptool/filename...
     */
 
-    snprintf(dst, dstsize, "%s/ipptest/%s", cg->cups_datadir, src + 1);
+    snprintf(dst, dstsize, "%s/ipptool/%s", cg->cups_datadir, src + 1);
     dstptr = dst + strlen(dst) - 1;
     if (*dstptr == '>')
       *dstptr = '\0';
@@ -2468,7 +2629,7 @@ get_token(FILE *fp,                       /* I  - File to read from */
         ungetc(ch, fp);
       else if (ch == '\n')
         (*linenum) ++;
-        
+
       *bufptr = '\0';
 
       return (buf);
@@ -2532,7 +2693,7 @@ print_attr(ipp_attribute_t *attr) /* I - Attribute to print */
   ipp_attribute_t      *colattr;       /* Collection attribute */
 
 
-  if (XML)
+  if (Output == _CUPS_OUTPUT_PLIST)
   {
     if (!attr->name)
     {
@@ -2544,7 +2705,7 @@ print_attr(ipp_attribute_t *attr) /* I - Attribute to print */
     if (attr->num_values > 1)
       puts("<array>");
   }
-  else
+  else if (Output == _CUPS_OUTPUT_TEST)
   {
     if (!attr->name)
     {
@@ -2562,7 +2723,7 @@ print_attr(ipp_attribute_t *attr) /* I - Attribute to print */
     case IPP_TAG_INTEGER :
     case IPP_TAG_ENUM :
        for (i = 0; i < attr->num_values; i ++)
-         if (XML)
+         if (Output == _CUPS_OUTPUT_PLIST)
            printf("<integer>%d</integer>\n", attr->values[i].integer);
          else
            printf("%d ", attr->values[i].integer);
@@ -2570,7 +2731,7 @@ print_attr(ipp_attribute_t *attr) /* I - Attribute to print */
 
     case IPP_TAG_BOOLEAN :
        for (i = 0; i < attr->num_values; i ++)
-         if (XML)
+         if (Output == _CUPS_OUTPUT_PLIST)
            puts(attr->values[i].boolean ? "<true />" : "<false />");
          else if (attr->values[i].boolean)
            fputs("true ", stdout);
@@ -2580,7 +2741,7 @@ print_attr(ipp_attribute_t *attr) /* I - Attribute to print */
 
     case IPP_TAG_RANGE :
        for (i = 0; i < attr->num_values; i ++)
-         if (XML)
+         if (Output == _CUPS_OUTPUT_PLIST)
            printf("<dict><key>lower</key><integer>%d</integer>"
                   "<key>upper</key><integer>%d</integer></dict>\n",
                   attr->values[i].range.lower, attr->values[i].range.upper);
@@ -2591,7 +2752,7 @@ print_attr(ipp_attribute_t *attr) /* I - Attribute to print */
 
     case IPP_TAG_RESOLUTION :
        for (i = 0; i < attr->num_values; i ++)
-         if (XML)
+         if (Output == _CUPS_OUTPUT_PLIST)
            printf("<dict><key>xres</key><integer>%d</integer>"
                   "<key>yres</key><integer>%d</integer>"
                   "<key>units</key><string>%s</string></dict>\n",
@@ -2608,7 +2769,7 @@ print_attr(ipp_attribute_t *attr) /* I - Attribute to print */
 
     case IPP_TAG_DATE :
        for (i = 0; i < attr->num_values; i ++)
-         if (XML)
+         if (Output == _CUPS_OUTPUT_PLIST)
             printf("<date>%s</date>\n", iso_date(attr->values[i].date));
           else
            printf("%s ", iso_date(attr->values[i].date));
@@ -2623,7 +2784,7 @@ print_attr(ipp_attribute_t *attr) /* I - Attribute to print */
     case IPP_TAG_MIMETYPE :
     case IPP_TAG_LANGUAGE :
        for (i = 0; i < attr->num_values; i ++)
-         if (XML)
+         if (Output == _CUPS_OUTPUT_PLIST)
            print_xml_string("string", attr->values[i].string.text);
          else
            printf("\"%s\" ", attr->values[i].string.text);
@@ -2632,7 +2793,7 @@ print_attr(ipp_attribute_t *attr) /* I - Attribute to print */
     case IPP_TAG_TEXTLANG :
     case IPP_TAG_NAMELANG :
        for (i = 0; i < attr->num_values; i ++)
-         if (XML)
+         if (Output == _CUPS_OUTPUT_PLIST)
          {
            fputs("<dict><key>language</key><string>", stdout);
            print_xml_string(NULL, attr->values[i].string.charset);
@@ -2648,7 +2809,7 @@ print_attr(ipp_attribute_t *attr) /* I - Attribute to print */
     case IPP_TAG_BEGIN_COLLECTION :
        for (i = 0; i < attr->num_values; i ++)
        {
-         if (XML)
+         if (Output == _CUPS_OUTPUT_PLIST)
          {
            puts("<dict>");
            for (colattr = attr->values[i].collection->attrs;
@@ -2668,7 +2829,7 @@ print_attr(ipp_attribute_t *attr) /* I - Attribute to print */
        break;
 
     default :
-       if (XML)
+       if (Output == _CUPS_OUTPUT_PLIST)
          printf("<string>&lt;&lt;%s&gt;&gt;</string>\n",
                 ippTagString(attr->value_tag));
        else
@@ -2676,7 +2837,7 @@ print_attr(ipp_attribute_t *attr) /* I - Attribute to print */
        break;
   }
 
-  if (XML)
+  if (Output == _CUPS_OUTPUT_PLIST)
   {
     if (attr->num_values > 1)
       puts("</array>");
@@ -2773,6 +2934,94 @@ print_col(ipp_t *col)                    /* I - Collection attribute to print */
 }
 
 
+/*
+ * 'print_csv()' - Print a line of CSV text.
+ */
+
+static void
+print_csv(
+    ipp_attribute_t *attr,             /* I - First attribute for line */
+    int             num_displayed,     /* I - Number of attributes to display */
+    char            **displayed,       /* I - Attributes to display */
+    size_t          *widths)           /* I - Column widths */
+{
+  int          i;                      /* Looping var */
+  size_t       maxlength;              /* Max length of all columns */
+  char         *buffer,                /* String buffer */
+               *bufptr;                /* Pointer into buffer */
+  ipp_attribute_t *current;            /* Current attribute */
+
+
+ /*
+  * Get the maximum string length we have to show and allocate...
+  */
+
+  for (i = 1, maxlength = widths[0]; i < num_displayed; i ++)
+    if (widths[i] > maxlength)
+      maxlength = widths[i];
+
+  maxlength += 2;
+
+  if ((buffer = malloc(maxlength)) == NULL)
+    return;
+
+ /*
+  * Loop through the attributes to display...
+  */
+
+  if (attr)
+  {
+    for (i = 0; i < num_displayed; i ++)
+    {
+      if (i)
+        putchar(',');
+
+      buffer[0] = '\0';
+
+      for (current = attr; current; current = current->next)
+      {
+        if (!current->name)
+          break;
+        else if (!strcmp(current->name, displayed[i]))
+        {
+          _ippAttrString(current, buffer, maxlength);
+          break;
+        }
+      }
+
+      if (strchr(buffer, ',') != NULL || strchr(buffer, '\"') != NULL ||
+         strchr(buffer, '\\') != NULL)
+      {
+        putchar('\"');
+        for (bufptr = buffer; *bufptr; bufptr ++)
+        {
+          if (*bufptr == '\\' || *bufptr == '\"')
+            putchar('\\');
+          putchar(*bufptr);
+        }
+        putchar('\"');
+      }
+      else
+        fputs(buffer, stdout);
+    }
+    putchar('\n');
+  }
+  else
+  {
+    for (i = 0; i < num_displayed; i ++)
+    {
+      if (i)
+        putchar(',');
+
+      fputs(displayed[i], stdout);
+    }
+    putchar('\n');
+  }
+
+  free(buffer);
+}
+
+
 /*
  * 'print_fatal_error()' - Print a fatal error message.
  */
@@ -2797,13 +3046,98 @@ print_fatal_error(const char *s,        /* I - Printf-style format string */
   * Then output it...
   */
 
-  if (XML)
+  if (Output == _CUPS_OUTPUT_PLIST)
   {
     print_xml_header();
     print_xml_trailer(0, buffer);
   }
   else
-    _cupsLangPrintf(stderr, "ipptest: %s\n", buffer);
+    _cupsLangPrintf(stderr, "ipptool: %s\n", buffer);
+}
+
+
+/*
+ * 'print_line()' - Print a line of formatted or CSV text.
+ */
+
+static void
+print_line(
+    ipp_attribute_t *attr,             /* I - First attribute for line */
+    int             num_displayed,     /* I - Number of attributes to display */
+    char            **displayed,       /* I - Attributes to display */
+    size_t          *widths)           /* I - Column widths */
+{
+  int          i;                      /* Looping var */
+  size_t       maxlength;              /* Max length of all columns */
+  char         *buffer;                /* String buffer */
+  ipp_attribute_t *current;            /* Current attribute */
+
+
+ /*
+  * Get the maximum string length we have to show and allocate...
+  */
+
+  for (i = 1, maxlength = widths[0]; i < num_displayed; i ++)
+    if (widths[i] > maxlength)
+      maxlength = widths[i];
+
+  maxlength += 2;
+
+  if ((buffer = malloc(maxlength)) == NULL)
+    return;
+
+ /*
+  * Loop through the attributes to display...
+  */
+
+  if (attr)
+  {
+    for (i = 0; i < num_displayed; i ++)
+    {
+      if (i)
+        putchar(' ');
+
+      buffer[0] = '\0';
+
+      for (current = attr; current; current = current->next)
+      {
+        if (!current->name)
+          break;
+        else if (!strcmp(current->name, displayed[i]))
+        {
+          _ippAttrString(current, buffer, maxlength);
+          break;
+        }
+      }
+
+      printf("%*s", (int)-widths[i], buffer);
+    }
+    putchar('\n');
+  }
+  else
+  {
+    for (i = 0; i < num_displayed; i ++)
+    {
+      if (i)
+        putchar(' ');
+
+      printf("%*s", (int)-widths[i], displayed[i]);
+    }
+    putchar('\n');
+
+    for (i = 0; i < num_displayed; i ++)
+    {
+      if (i)
+       putchar(' ');
+
+      memset(buffer, '-', widths[i]);
+      buffer[widths[i]] = '\0';
+      fputs(buffer, stdout);
+    }
+    putchar('\n');
+  }
+
+  free(buffer);
 }
 
 
@@ -2831,7 +3165,7 @@ print_test_error(const char *s,           /* I - Printf-style format string */
   * Then output it...
   */
 
-  if (XML)
+  if (Output == _CUPS_OUTPUT_PLIST)
     print_xml_string("string", buffer);
   else
     printf("        %s\n", buffer);
@@ -2962,20 +3296,25 @@ static void
 usage(void)
 {
   _cupsLangPuts(stderr,
-                _("Usage: ipptest [options] URI filename.test [ ... "
-                 "filenameN.test ]\n"
+                _("Usage: ipptool [options] URI filename [ ... "
+                 "filenameN ]\n"
                  "\n"
                  "Options:\n"
                  "\n"
-                 "-E             Test with encryption.\n"
+                 "-C             Send requests using chunking (default)\n"
+                 "-E             Test with TLS encryption.\n"
+                 "-L             Send requests using content-length\n"
+                 "-S             Test with SSL encryption.\n"
                  "-V version     Set default IPP version.\n"
-                 "-X             Produce XML instead of plain text.\n"
-                 "-c             Send requests using chunking (default)\n"
+                 "-X             Produce XML plist instead of plain text.\n"
                  "-d name=value  Define variable.\n"
-                 "-f filename    Set default test file.\n"
-                 "-i seconds     Repeat the last test file with the given "
+                 "-f filename    Set default request filename.\n"
+                 "-i seconds     Repeat the last file with the given time "
                  "interval.\n"
-                 "-l             Send requests using content-length\n"
+                 "-n count       Repeat the last file the given number of "
+                 "times.\n"
+                 "-q             Be quiet - no output except errors.\n"
+                 "-t             Produce a test report.\n"
                  "-v             Show all attributes sent and received.\n"));
 
   exit(1);
@@ -3858,5 +4197,5 @@ with_value(char            *value,        /* I - Value string */
 
 
 /*
- * End of "$Id: ipptest.c 9000 2010-02-24 06:29:38Z mike $".
+ * End of "$Id$".
  */
index edf86a6da975c4aedaeca6cc1988fd033ee2bc9c..11a011608e0f61600824403cad4ad3a3caa475f4 100755 (executable)
@@ -5,7 +5,7 @@
 #   Perform the complete set of IPP compliance tests specified in the
 #   CUPS Software Test Plan.
 #
-#   Copyright 2007-2009 by Apple Inc.
+#   Copyright 2007-2010 by Apple Inc.
 #   Copyright 1997-2007 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -552,7 +552,7 @@ for file in 4*.test; do
        echo "Performing $file..."
        echo "" >>$strfile
 
-       ./ipptest ipp://localhost:$port/printers $file | tee -a $strfile
+       ./ipptool -t ipp://localhost:$port/printers $file | tee -a $strfile
        status=$?
 
        if test $status != 0; then
similarity index 93%
rename from vc2005/ipptest.vcproj
rename to vc2005/ipptool.vcproj
index d01d7effc985c066e898643327ee31f208c7b7e6..271187b54291f1ecc892d77e8a29c4885ae3168c 100644 (file)
@@ -4,7 +4,7 @@
        Version="8.00"\r
        Name="cupstestppd"\r
        ProjectGUID="{B246D91E-61F2-4433-BFD2-6C2A96FBD4D4}"\r
-       RootNamespace="ipptest"\r
+       RootNamespace="ipptool"\r
        Keyword="Win32Proj"\r
        >\r
        <Platforms>\r
                        UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"\r
                        >\r
                        <File\r
-                               RelativePath="..\test\ipptest.c"\r
+                               RelativePath="..\test\ipptool.c"\r
                                >\r
                        </File>\r
                </Filter>\r
index 0e950a33b064a258fc583591d5e94c77381ea5df..5c318adb68a57144b5a91e59eeb719845a59cc2f 100644 (file)
@@ -17,7 +17,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cupstestppd", "cupstestppd.
                {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3} = {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}\r
        EndProjectSection\r
 EndProject\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ipptest", "ipptest.vcproj", "{B246D91E-61F2-4433-BFD2-6C2A96FBD4D4}"\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ipptool", "ipptool.vcproj", "{B246D91E-61F2-4433-BFD2-6C2A96FBD4D4}"\r
        ProjectSection(ProjectDependencies) = postProject\r
                {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3} = {CB4AA6F2-3E84-45BE-B505-95CD375E8BE3}\r
        EndProjectSection\r
similarity index 93%
rename from vcnet/ipptest.vcproj
rename to vcnet/ipptool.vcproj
index 9de93f372e6acf9a899c7fde73e64f154408e25f..8f3f11b7a8603cf1f718f85510d0f4fb23e2f2e6 100644 (file)
@@ -2,9 +2,9 @@
 <VisualStudioProject\r
        ProjectType="Visual C++"\r
        Version="9.00"\r
-       Name="ipptest"\r
+       Name="ipptool"\r
        ProjectGUID="{B246D91E-61F2-4433-BFD2-6C2A96FBD4D4}"\r
-       RootNamespace="ipptest"\r
+       RootNamespace="ipptool"\r
        Keyword="Win32Proj"\r
        TargetFrameworkVersion="131072"\r
        >\r
                                >\r
                        </File>\r
                        <File\r
-                               RelativePath="..\test\ipptest.c"\r
+                               RelativePath="..\test\ipptool.c"\r
                                >\r
                        </File>\r
                        <File\r