From f787e1e3ff11339269bdc11e253af91e5961e013 Mon Sep 17 00:00:00 2001 From: msweet Date: Wed, 9 Dec 2015 16:56:00 +0000 Subject: [PATCH] Do some code reorganization so that all of the PPD code is separate from the rest. Note: cupsGetPPD* and friends are now in cups/ppd.h now - should not be an issue but was necessary to leave a clean break for future code. git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13007 a1ca3aef-8c08-0410-bb20-df032aa958be --- backend/Dependencies | 45 +- backend/ieee1284.c | 3 +- backend/ipp.c | 1 + backend/snmp-supplies.c | 3 +- backend/usb-darwin.c | 1 + berkeley/Dependencies | 11 +- cups/Dependencies | 207 ++++---- cups/Makefile | 17 +- cups/adminutil.c | 1 + cups/backend.c | 25 +- cups/cups-private.h | 8 - cups/cups.h | 18 +- cups/globals.c | 30 +- cups/{attr.c => ppd-attr.c} | 0 cups/ppd-cache.c | 1 + cups/{conflicts.c => ppd-conflicts.c} | 4 +- cups/{custom.c => ppd-custom.c} | 40 +- cups/{emit.c => ppd-emit.c} | 3 +- cups/{localize.c => ppd-localize.c} | 0 cups/{mark.c => ppd-mark.c} | 3 +- cups/{page.c => ppd-page.c} | 27 +- cups/ppd-private.h | 13 + cups/ppd-util.c | 723 ++++++++++++++++++++++++++ cups/ppd.c | 388 +++++++++----- cups/ppd.h | 10 +- cups/testlang.c | 1 + cups/testppd.c | 1 + cups/util.c | 688 ------------------------ filter/Dependencies | 10 +- filter/rastertopwg.c | 1 + locale/Dependencies | 5 +- monitor/Dependencies | 6 +- notifier/Dependencies | 5 +- ppdc/Dependencies | 78 +-- scheduler/Dependencies | 153 +++--- scheduler/cupsd.h | 1 + systemv/Dependencies | 32 +- systemv/lpadmin.c | 1 + systemv/lpoptions.c | 3 +- test/Dependencies | 5 +- xcode/CUPS.xcodeproj/project.pbxproj | 100 ++-- 41 files changed, 1361 insertions(+), 1311 deletions(-) rename cups/{attr.c => ppd-attr.c} (100%) rename cups/{conflicts.c => ppd-conflicts.c} (99%) rename cups/{custom.c => ppd-custom.c} (59%) rename cups/{emit.c => ppd-emit.c} (99%) rename cups/{localize.c => ppd-localize.c} (100%) rename cups/{mark.c => ppd-mark.c} (99%) rename cups/{page.c => ppd-page.c} (90%) create mode 100644 cups/ppd-util.c diff --git a/backend/Dependencies b/backend/Dependencies index 2d6e7eb03..66b2de564 100644 --- a/backend/Dependencies +++ b/backend/Dependencies @@ -4,54 +4,50 @@ ipp.o: ipp.c backend-private.h ../cups/cups-private.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/snmp-private.h \ - ../cups/backend.h ../cups/sidechannel.h + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h \ + ../cups/ppd-private.h ../cups/ppd.h lpd.o: lpd.c ../cups/http-private.h ../config.h ../cups/language.h \ ../cups/array.h ../cups/versioning.h ../cups/http.h \ ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h \ backend-private.h ../cups/cups-private.h ../cups/string-private.h \ ../cups/debug-private.h ../cups/array-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/snmp-private.h \ - ../cups/backend.h ../cups/sidechannel.h + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h dnssd.o: dnssd.c backend-private.h ../cups/cups-private.h \ ../cups/string-private.h ../config.h ../cups/debug-private.h \ ../cups/versioning.h ../cups/array-private.h ../cups/array.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/snmp-private.h \ - ../cups/backend.h ../cups/sidechannel.h + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h snmp.o: snmp.c backend-private.h ../cups/cups-private.h \ ../cups/string-private.h ../config.h ../cups/debug-private.h \ ../cups/versioning.h ../cups/array-private.h ../cups/array.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/snmp-private.h \ - ../cups/backend.h ../cups/sidechannel.h + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h socket.o: socket.c ../cups/http-private.h ../config.h ../cups/language.h \ ../cups/array.h ../cups/versioning.h ../cups/http.h \ ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h \ backend-private.h ../cups/cups-private.h ../cups/string-private.h \ ../cups/debug-private.h ../cups/array-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/snmp-private.h \ - ../cups/backend.h ../cups/sidechannel.h + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h test1284.o: test1284.c ../cups/string-private.h ../config.h ieee1284.c \ backend-private.h ../cups/cups-private.h ../cups/debug-private.h \ ../cups/versioning.h ../cups/array-private.h ../cups/array.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/snmp-private.h \ - ../cups/backend.h ../cups/sidechannel.h + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h \ + ../cups/ppd-private.h ../cups/ppd.h testbackend.o: testbackend.c ../cups/string-private.h ../config.h \ ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h \ ../cups/http.h ../cups/array.h ../cups/language.h ../cups/pwg.h \ @@ -62,16 +58,15 @@ testsupplies.o: testsupplies.c backend-private.h ../cups/cups-private.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/snmp-private.h \ - ../cups/backend.h ../cups/sidechannel.h + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h usb.o: usb.c backend-private.h ../cups/cups-private.h \ ../cups/string-private.h ../config.h ../cups/debug-private.h \ ../cups/versioning.h ../cups/array-private.h ../cups/array.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/snmp-private.h \ - ../cups/backend.h ../cups/sidechannel.h usb-darwin.c \ - ../cups/file-private.h + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/snmp-private.h ../cups/backend.h ../cups/sidechannel.h \ + usb-darwin.c ../cups/file-private.h ../cups/ppd-private.h \ + ../cups/ppd.h diff --git a/backend/ieee1284.c b/backend/ieee1284.c index b4ded43ee..6ffa31af7 100644 --- a/backend/ieee1284.c +++ b/backend/ieee1284.c @@ -3,7 +3,7 @@ * * IEEE-1284 support functions for CUPS. * - * Copyright 2007-2014 by Apple Inc. + * Copyright 2007-2015 by Apple Inc. * Copyright 1997-2007 by Easy Software Products, all rights reserved. * * These coded instructions, statements, and computer programs are the @@ -20,6 +20,7 @@ */ #include "backend-private.h" +#include /* diff --git a/backend/ipp.c b/backend/ipp.c index 5d0fc662d..44bbd0c9e 100644 --- a/backend/ipp.c +++ b/backend/ipp.c @@ -20,6 +20,7 @@ */ #include "backend-private.h" +#include #include #include #include diff --git a/backend/snmp-supplies.c b/backend/snmp-supplies.c index 3f2869d6b..129f70026 100644 --- a/backend/snmp-supplies.c +++ b/backend/snmp-supplies.c @@ -3,7 +3,7 @@ * * SNMP supplies functions for CUPS. * - * Copyright 2008-2014 by Apple Inc. + * Copyright 2008-2015 by Apple Inc. * * These coded instructions, statements, and computer programs are the * property of Apple Inc. and are protected by Federal copyright @@ -19,6 +19,7 @@ */ #include "backend-private.h" +#include #include diff --git a/backend/usb-darwin.c b/backend/usb-darwin.c index 2df79f4fe..17d62902b 100644 --- a/backend/usb-darwin.c +++ b/backend/usb-darwin.c @@ -63,6 +63,7 @@ #include #include #include +#include #include "backend-private.h" #include #include diff --git a/berkeley/Dependencies b/berkeley/Dependencies index 76b1f2a5e..8522b242d 100644 --- a/berkeley/Dependencies +++ b/berkeley/Dependencies @@ -3,26 +3,23 @@ lpc.o: lpc.c ../cups/cups-private.h ../cups/string-private.h ../config.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h lpq.o: lpq.c ../cups/cups-private.h ../cups/string-private.h ../config.h \ ../cups/debug-private.h ../cups/versioning.h ../cups/array-private.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h lpr.o: lpr.c ../cups/cups-private.h ../cups/string-private.h ../config.h \ ../cups/debug-private.h ../cups/versioning.h ../cups/array-private.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h lprm.o: lprm.c ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/versioning.h \ ../cups/array-private.h ../cups/array.h ../cups/ipp-private.h \ ../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h + ../cups/thread-private.h diff --git a/cups/Dependencies b/cups/Dependencies index e667d3920..6a9b80cf4 100644 --- a/cups/Dependencies +++ b/cups/Dependencies @@ -2,99 +2,66 @@ adminutil.o: adminutil.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h adminutil.h + ../cups/cups.h file.h pwg.h thread-private.h ppd.h adminutil.h array.o: array.c ../cups/cups.h file.h versioning.h ipp.h http.h array.h \ language.h pwg.h string-private.h ../config.h debug-private.h \ array-private.h -attr.o: attr.c cups-private.h string-private.h ../config.h \ - debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ - ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ - md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h auth.o: auth.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h backchannel.o: backchannel.c cups.h file.h versioning.h ipp.h http.h \ array.h language.h pwg.h backend.o: backend.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h backend.h -conflicts.o: conflicts.c cups-private.h string-private.h ../config.h \ - debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ - ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ - md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h -custom.o: custom.c cups-private.h string-private.h ../config.h \ - debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ - ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ - md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h backend.h ppd.h debug.o: debug.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h dest.o: dest.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h dest-job.o: dest-job.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h dest-localization.o: dest-localization.c cups-private.h string-private.h \ ../config.h debug-private.h ../cups/versioning.h array-private.h \ ../cups/array.h ipp-private.h ../cups/ipp.h http.h http-private.h \ ../cups/language.h md5-private.h language-private.h \ ../cups/transcode.h pwg-private.h ../cups/cups.h file.h pwg.h \ - ppd-private.h ../cups/ppd.h thread-private.h + thread-private.h dest-options.o: dest-options.c cups-private.h string-private.h \ ../config.h debug-private.h ../cups/versioning.h array-private.h \ ../cups/array.h ipp-private.h ../cups/ipp.h http.h http-private.h \ ../cups/language.h md5-private.h language-private.h \ ../cups/transcode.h pwg-private.h ../cups/cups.h file.h pwg.h \ - ppd-private.h ../cups/ppd.h thread-private.h + thread-private.h dir.o: dir.c string-private.h ../config.h debug-private.h \ ../cups/versioning.h dir.h -emit.o: emit.c cups-private.h string-private.h ../config.h \ - debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ - ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ - md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h encode.o: encode.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h file.o: file.c file-private.h cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h getdevices.o: getdevices.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h getifaddrs.o: getifaddrs.c http-private.h ../config.h ../cups/language.h \ array.h versioning.h ../cups/http.h md5-private.h ipp-private.h \ ../cups/ipp.h @@ -102,79 +69,59 @@ getputfile.o: getputfile.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h globals.o: globals.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h hash.o: hash.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h http.o: http.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h http-addr.o: http-addr.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h http-addrlist.o: http-addrlist.c cups-private.h string-private.h \ ../config.h debug-private.h ../cups/versioning.h array-private.h \ ../cups/array.h ipp-private.h ../cups/ipp.h http.h http-private.h \ ../cups/language.h md5-private.h language-private.h \ ../cups/transcode.h pwg-private.h ../cups/cups.h file.h pwg.h \ - ppd-private.h ../cups/ppd.h thread-private.h + thread-private.h http-support.o: http-support.c cups-private.h string-private.h \ ../config.h debug-private.h ../cups/versioning.h array-private.h \ ../cups/array.h ipp-private.h ../cups/ipp.h http.h http-private.h \ ../cups/language.h md5-private.h language-private.h \ ../cups/transcode.h pwg-private.h ../cups/cups.h file.h pwg.h \ - ppd-private.h ../cups/ppd.h thread-private.h + thread-private.h ipp.o: ipp.c cups-private.h string-private.h ../config.h debug-private.h \ ../cups/versioning.h array-private.h ../cups/array.h ipp-private.h \ ../cups/ipp.h http.h http-private.h ../cups/language.h md5-private.h \ language-private.h ../cups/transcode.h pwg-private.h ../cups/cups.h \ - file.h pwg.h ppd-private.h ../cups/ppd.h thread-private.h + file.h pwg.h thread-private.h ipp-support.o: ipp-support.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h langprintf.o: langprintf.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h language.o: language.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h -localize.o: localize.c cups-private.h string-private.h ../config.h \ - debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ - ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ - md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h -mark.o: mark.c cups-private.h string-private.h ../config.h \ - debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ - ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ - md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h md5.o: md5.c md5-private.h string-private.h ../config.h md5passwd.o: md5passwd.c http-private.h ../config.h ../cups/language.h \ array.h versioning.h ../cups/http.h md5-private.h ipp-private.h \ @@ -183,94 +130,124 @@ notify.o: notify.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h options.o: options.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h -page.o: page.c string-private.h ../config.h debug-private.h \ - ../cups/versioning.h ppd.h cups.h file.h ipp.h http.h array.h \ - language.h pwg.h + ../cups/cups.h file.h pwg.h thread-private.h ppd.o: ppd.c cups-private.h string-private.h ../config.h debug-private.h \ ../cups/versioning.h array-private.h ../cups/array.h ipp-private.h \ ../cups/ipp.h http.h http-private.h ../cups/language.h md5-private.h \ language-private.h ../cups/transcode.h pwg-private.h ../cups/cups.h \ - file.h pwg.h ppd-private.h ../cups/ppd.h thread-private.h + file.h pwg.h thread-private.h ppd-private.h ../cups/ppd.h +ppd-attr.o: ppd-attr.c cups-private.h string-private.h ../config.h \ + debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ + ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ + md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ + ../cups/cups.h file.h pwg.h thread-private.h ppd-private.h \ + ../cups/ppd.h ppd-cache.o: ppd-cache.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h ppd-private.h \ + ../cups/ppd.h +ppd-conflicts.o: ppd-conflicts.c cups-private.h string-private.h \ + ../config.h debug-private.h ../cups/versioning.h array-private.h \ + ../cups/array.h ipp-private.h ../cups/ipp.h http.h http-private.h \ + ../cups/language.h md5-private.h language-private.h \ + ../cups/transcode.h pwg-private.h ../cups/cups.h file.h pwg.h \ + thread-private.h ppd-private.h ../cups/ppd.h +ppd-custom.o: ppd-custom.c cups-private.h string-private.h ../config.h \ + debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ + ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ + md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ + ../cups/cups.h file.h pwg.h thread-private.h ppd-private.h \ + ../cups/ppd.h +ppd-emit.o: ppd-emit.c cups-private.h string-private.h ../config.h \ + debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ + ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ + md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ + ../cups/cups.h file.h pwg.h thread-private.h ppd.h +ppd-localize.o: ppd-localize.c cups-private.h string-private.h \ + ../config.h debug-private.h ../cups/versioning.h array-private.h \ + ../cups/array.h ipp-private.h ../cups/ipp.h http.h http-private.h \ + ../cups/language.h md5-private.h language-private.h \ + ../cups/transcode.h pwg-private.h ../cups/cups.h file.h pwg.h \ + thread-private.h ppd-private.h ../cups/ppd.h +ppd-mark.o: ppd-mark.c cups-private.h string-private.h ../config.h \ + debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ + ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ + md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ + ../cups/cups.h file.h pwg.h thread-private.h ppd-private.h \ + ../cups/ppd.h +ppd-page.o: ppd-page.c string-private.h ../config.h debug-private.h \ + ../cups/versioning.h ppd.h cups.h file.h ipp.h http.h array.h \ + language.h pwg.h +ppd-util.o: ppd-util.c cups-private.h string-private.h ../config.h \ + debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ + ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ + md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ + ../cups/cups.h file.h pwg.h thread-private.h ppd-private.h \ + ../cups/ppd.h pwg-media.o: pwg-media.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h request.o: request.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h sidechannel.o: sidechannel.c sidechannel.h versioning.h cups-private.h \ string-private.h ../config.h debug-private.h array-private.h \ ../cups/array.h ipp-private.h ../cups/ipp.h http.h http-private.h \ ../cups/language.h md5-private.h language-private.h \ ../cups/transcode.h pwg-private.h ../cups/cups.h file.h pwg.h \ - ppd-private.h ../cups/ppd.h thread-private.h + thread-private.h snmp.o: snmp.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h snmp-private.h + ../cups/cups.h file.h pwg.h thread-private.h snmp-private.h snprintf.o: snprintf.c string-private.h ../config.h string.o: string.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h tempfile.o: tempfile.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h thread.o: thread.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h tls.o: tls.c cups-private.h string-private.h ../config.h debug-private.h \ ../cups/versioning.h array-private.h ../cups/array.h ipp-private.h \ ../cups/ipp.h http.h http-private.h ../cups/language.h md5-private.h \ language-private.h ../cups/transcode.h pwg-private.h ../cups/cups.h \ - file.h pwg.h ppd-private.h ../cups/ppd.h thread-private.h tls-darwin.c + file.h pwg.h thread-private.h tls-darwin.c transcode.o: transcode.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h usersys.o: usersys.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h util.o: util.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h testadmin.o: testadmin.c adminutil.h cups.h file.h versioning.h ipp.h \ http.h array.h language.h pwg.h string-private.h ../config.h testarray.o: testarray.c string-private.h ../config.h debug-private.h \ @@ -292,8 +269,7 @@ testhttp.o: testhttp.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h testi18n.o: testi18n.c string-private.h ../config.h language-private.h \ ../cups/transcode.h language.h array.h versioning.h testipp.o: testipp.c file.h versioning.h string-private.h ../config.h \ @@ -302,20 +278,19 @@ testoptions.o: testoptions.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h testlang.o: testlang.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h ppd-private.h \ + ../cups/ppd.h testppd.o: testppd.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h ppd-private.h \ + ../cups/ppd.h testpwg.o: testpwg.c ppd-private.h ../cups/cups.h file.h versioning.h \ ipp.h http.h array.h language.h pwg.h ../cups/ppd.h pwg-private.h \ file-private.h cups-private.h string-private.h ../config.h \ @@ -325,11 +300,9 @@ testsnmp.o: testsnmp.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h snmp-private.h + ../cups/cups.h file.h pwg.h thread-private.h snmp-private.h tlscheck.o: tlscheck.c cups-private.h string-private.h ../config.h \ debug-private.h ../cups/versioning.h array-private.h ../cups/array.h \ ipp-private.h ../cups/ipp.h http.h http-private.h ../cups/language.h \ md5-private.h language-private.h ../cups/transcode.h pwg-private.h \ - ../cups/cups.h file.h pwg.h ppd-private.h ../cups/ppd.h \ - thread-private.h + ../cups/cups.h file.h pwg.h thread-private.h diff --git a/cups/Makefile b/cups/Makefile index dc6859b8c..83d7c35e2 100644 --- a/cups/Makefile +++ b/cups/Makefile @@ -3,7 +3,7 @@ # # API library Makefile for CUPS. # -# Copyright 2007-2014 by Apple Inc. +# Copyright 2007-2015 by Apple Inc. # Copyright 1997-2006 by Easy Software Products, all rights reserved. # # These coded instructions, statements, and computer programs are the @@ -32,19 +32,15 @@ OPTIONS = -D_CUPS_NO_DEPRECATED=1 -D_PPD_DEPRECATED="" LIBOBJS = \ adminutil.o \ array.o \ - attr.o \ auth.o \ backchannel.o \ backend.o \ - conflicts.o \ - custom.o \ debug.o \ dest.o \ dest-job.o \ dest-localization.o \ dest-options.o \ dir.o \ - emit.o \ encode.o \ file.o \ getdevices.o \ @@ -60,15 +56,20 @@ LIBOBJS = \ ipp-support.o \ langprintf.o \ language.o \ - localize.o \ - mark.o \ md5.o \ md5passwd.o \ notify.o \ options.o \ - page.o \ ppd.o \ + ppd-attr.o \ ppd-cache.o \ + ppd-conflicts.o \ + ppd-custom.o \ + ppd-emit.o \ + ppd-localize.o \ + ppd-mark.o \ + ppd-page.o \ + ppd-util.o \ pwg-media.o \ request.o \ sidechannel.o \ diff --git a/cups/adminutil.c b/cups/adminutil.c index 424c02b4c..7b487b378 100644 --- a/cups/adminutil.c +++ b/cups/adminutil.c @@ -20,6 +20,7 @@ */ #include "cups-private.h" +#include "ppd.h" #include "adminutil.h" #include #include diff --git a/cups/backend.c b/cups/backend.c index 372c04d81..6e12c0f35 100644 --- a/cups/backend.c +++ b/cups/backend.c @@ -1,24 +1,18 @@ /* * "$Id$" * - * Backend functions for CUPS. + * Backend functions for CUPS. * - * Copyright 2007-2012 by Apple Inc. - * Copyright 2006 by Easy Software Products. + * Copyright 2007-2015 by Apple Inc. + * Copyright 2006 by Easy Software Products. * - * 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/". + * 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/". * - * This file is subject to the Apple OS-Developed Software exception. - * - * Contents: - * - * cupsBackendDeviceURI() - Get the device URI for a backend. - * cupsBackendReport() - Write a device line from a backend. - * quote_string() - Write a quoted string to stdout, escaping \ and ". + * This file is subject to the Apple OS-Developed Software exception. */ /* @@ -27,6 +21,7 @@ #include "cups-private.h" #include "backend.h" +#include "ppd.h" /* diff --git a/cups/cups-private.h b/cups/cups-private.h index 940e593c7..d312320a4 100644 --- a/cups/cups-private.h +++ b/cups/cups-private.h @@ -29,7 +29,6 @@ # include "http-private.h" # include "language-private.h" # include "pwg-private.h" -# include "ppd-private.h" # include "thread-private.h" # include # ifdef __APPLE__ @@ -122,11 +121,6 @@ typedef struct _cups_globals_s /**** CUPS global state data ****/ char language[32]; /* Cached language */ # endif /* __APPLE__ */ - /* ppd.c */ - ppd_status_t ppd_status; /* Status of last ppdOpen*() */ - int ppd_line; /* Current line number */ - ppd_conform_t ppd_conform; /* Level of conformance required */ - /* pwg-media.c */ cups_array_t *leg_size_lut, /* Lookup table for legacy names */ *ppd_size_lut, /* Lookup table for PPD names */ @@ -173,8 +167,6 @@ typedef struct _cups_globals_s /**** CUPS global state data ****/ /* util.c */ char def_printer[256]; /* Default printer */ - char ppd_filename[HTTP_MAX_URI]; - /* PPD filename */ } _cups_globals_t; typedef struct _cups_media_db_s /* Media database */ diff --git a/cups/cups.h b/cups/cups.h index fbcc332a8..f478d2c49 100644 --- a/cups/cups.h +++ b/cups/cups.h @@ -3,7 +3,7 @@ * * API definitions for CUPS. * - * Copyright 2007-2014 by Apple Inc. + * Copyright 2007-2015 by Apple Inc. * Copyright 1997-2007 by Easy Software Products. * * These coded instructions, statements, and computer programs are the @@ -35,15 +35,6 @@ typedef off_t ssize_t; /* @private@ */ # include "language.h" # include "pwg.h" -/* - * Define _PPD_DEPRECATED to silence the warnings about PPD functions being - * deprecated... - */ - -# ifndef _PPD_DEPRECATED -# define _PPD_DEPRECATED _CUPS_DEPRECATED_1_6_MSG("Use cupsCopyDestInfo and friends instead.") -# endif /* !_PPD_DEPRECATED */ - /* * C++ magic... @@ -364,7 +355,6 @@ extern int cupsGetClasses(char ***classes) _CUPS_DEPRECATED_MSG("Use cupsGetDes extern const char *cupsGetDefault(void); extern int cupsGetJobs(cups_job_t **jobs, const char *name, int myjobs, int whichjobs); -extern const char *cupsGetPPD(const char *name) _PPD_DEPRECATED; extern int cupsGetPrinters(char ***printers) _CUPS_DEPRECATED_MSG("Use cupsGetDests instead."); extern ipp_status_t cupsLastError(void); extern int cupsPrintFile(const char *name, const char *filename, @@ -422,7 +412,6 @@ extern int cupsGetDests2(http_t *http, cups_dest_t **dests) extern int cupsGetJobs2(http_t *http, cups_job_t **jobs, const char *name, int myjobs, int whichjobs) _CUPS_API_1_1_21; -extern const char *cupsGetPPD2(http_t *http, const char *name) _PPD_DEPRECATED; extern int cupsPrintFile2(http_t *http, const char *name, const char *filename, const char *title, int num_options, @@ -456,8 +445,6 @@ extern cups_file_t *cupsTempFile2(char *filename, int len) _CUPS_API_1_2; extern ipp_t *cupsDoIORequest(http_t *http, ipp_t *request, const char *resource, int infile, int outfile) _CUPS_API_1_3; -extern char *cupsGetServerPPD(http_t *http, const char *name) - _CUPS_API_1_3; extern int cupsRemoveDest(const char *name, const char *instance, int num_dests, cups_dest_t **dests) @@ -485,9 +472,6 @@ extern cups_dest_t *cupsGetNamedDest(http_t *http, const char *name, extern const char *cupsGetPassword2(const char *prompt, http_t *http, const char *method, const char *resource) _CUPS_API_1_4; -extern http_status_t cupsGetPPD3(http_t *http, const char *name, - time_t *modtime, char *buffer, - size_t bufsize) _PPD_DEPRECATED; extern ipp_t *cupsGetResponse(http_t *http, const char *resource) _CUPS_API_1_4; extern ssize_t cupsReadResponseData(http_t *http, char *buffer, diff --git a/cups/globals.c b/cups/globals.c index 17f7891e3..fa0feb4c5 100644 --- a/cups/globals.c +++ b/cups/globals.c @@ -1,29 +1,18 @@ /* * "$Id$" * - * Global variable access routines for CUPS. + * Global variable access routines for CUPS. * - * Copyright 2007-2013 by Apple Inc. - * Copyright 1997-2007 by Easy Software Products, all rights reserved. + * Copyright 2007-2015 by Apple Inc. + * Copyright 1997-2007 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/". + * 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/". * - * This file is subject to the Apple OS-Developed Software exception. - * - * Contents: - * - * _cupsGlobalLock() - Lock the global mutex. - * _cupsGlobals() - Return a pointer to thread local storage - * _cupsGlobalUnlock() - Unlock the global mutex. - * DllMain() - Main entry for library. - * cups_fix_path() - Fix a file path to use forward slashes consistently. - * cups_globals_alloc() - Allocate and initialize global data. - * cups_globals_free() - Free global data. - * cups_globals_init() - Initialize environment variables. + * This file is subject to the Apple OS-Developed Software exception. */ /* @@ -37,7 +26,6 @@ * Local globals... */ - #ifdef DEBUG static int cups_global_index = 0; /* Next thread number */ diff --git a/cups/attr.c b/cups/ppd-attr.c similarity index 100% rename from cups/attr.c rename to cups/ppd-attr.c diff --git a/cups/ppd-cache.c b/cups/ppd-cache.c index e02129106..e02d44355 100644 --- a/cups/ppd-cache.c +++ b/cups/ppd-cache.c @@ -19,6 +19,7 @@ */ #include "cups-private.h" +#include "ppd-private.h" #include diff --git a/cups/conflicts.c b/cups/ppd-conflicts.c similarity index 99% rename from cups/conflicts.c rename to cups/ppd-conflicts.c index b3bdf529a..31a82d779 100644 --- a/cups/conflicts.c +++ b/cups/ppd-conflicts.c @@ -1,9 +1,9 @@ /* * "$Id$" * - * Option marking routines for CUPS. + * Option conflict management routines for CUPS. * - * Copyright 2007-2014 by Apple Inc. + * Copyright 2007-2015 by Apple Inc. * Copyright 1997-2007 by Easy Software Products, all rights reserved. * * These coded instructions, statements, and computer programs are the diff --git a/cups/custom.c b/cups/ppd-custom.c similarity index 59% rename from cups/custom.c rename to cups/ppd-custom.c index 3d1d724fa..5f5272ce3 100644 --- a/cups/custom.c +++ b/cups/ppd-custom.c @@ -1,34 +1,27 @@ /* * "$Id$" * - * PPD custom option routines for CUPS. + * PPD custom option routines for CUPS. * - * Copyright 2007-2012 by Apple Inc. - * Copyright 1997-2006 by Easy Software Products, all rights reserved. + * Copyright 2007-2015 by Apple Inc. + * Copyright 1997-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/". + * 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/". * - * PostScript is a trademark of Adobe Systems, Inc. + * PostScript is a trademark of Adobe Systems, Inc. * - * This code and any derivative of it may be used and distributed - * freely under the terms of the GNU General Public License when - * used with GNU Ghostscript or its derivatives. Use of the code - * (or any derivative of it) with software other than GNU - * GhostScript (or its derivatives) is governed by the CUPS license - * agreement. + * This code and any derivative of it may be used and distributed + * freely under the terms of the GNU General Public License when + * used with GNU Ghostscript or its derivatives. Use of the code + * (or any derivative of it) with software other than GNU + * GhostScript (or its derivatives) is governed by the CUPS license + * agreement. * - * This file is subject to the Apple OS-Developed Software exception. - * - * Contents: - * - * ppdFindCustomOption() - Find a custom option. - * ppdFindCustomParam() - Find a parameter for a custom option. - * ppdFirstCustomParam() - Return the first parameter for a custom option. - * ppdNextCustomParam() - Return the next parameter for a custom option. + * This file is subject to the Apple OS-Developed Software exception. */ /* @@ -36,6 +29,7 @@ */ #include "cups-private.h" +#include "ppd-private.h" /* diff --git a/cups/emit.c b/cups/ppd-emit.c similarity index 99% rename from cups/emit.c rename to cups/ppd-emit.c index 5efbb176f..e750029ef 100644 --- a/cups/emit.c +++ b/cups/ppd-emit.c @@ -3,7 +3,7 @@ * * PPD code emission routines for CUPS. * - * Copyright 2007-2014 by Apple Inc. + * Copyright 2007-2015 by Apple Inc. * Copyright 1997-2007 by Easy Software Products, all rights reserved. * * These coded instructions, statements, and computer programs are the @@ -22,6 +22,7 @@ */ #include "cups-private.h" +#include "ppd.h" #if defined(WIN32) || defined(__EMX__) # include #else diff --git a/cups/localize.c b/cups/ppd-localize.c similarity index 100% rename from cups/localize.c rename to cups/ppd-localize.c diff --git a/cups/mark.c b/cups/ppd-mark.c similarity index 99% rename from cups/mark.c rename to cups/ppd-mark.c index 8a02f4d90..0fddab5c3 100644 --- a/cups/mark.c +++ b/cups/ppd-mark.c @@ -3,7 +3,7 @@ * * Option marking routines for CUPS. * - * Copyright 2007-2014 by Apple Inc. + * Copyright 2007-2015 by Apple Inc. * Copyright 1997-2007 by Easy Software Products, all rights reserved. * * These coded instructions, statements, and computer programs are the @@ -22,6 +22,7 @@ */ #include "cups-private.h" +#include "ppd-private.h" /* diff --git a/cups/page.c b/cups/ppd-page.c similarity index 90% rename from cups/page.c rename to cups/ppd-page.c index 824393d90..f7eb62b4a 100644 --- a/cups/page.c +++ b/cups/ppd-page.c @@ -1,27 +1,20 @@ /* * "$Id$" * - * Page size functions for CUPS. + * Page size functions for CUPS. * - * Copyright 2007-2012 by Apple Inc. - * Copyright 1997-2007 by Easy Software Products, all rights reserved. + * Copyright 2007-2015 by Apple Inc. + * Copyright 1997-2007 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/". + * 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/". * - * PostScript is a trademark of Adobe Systems, Inc. + * PostScript is a trademark of Adobe Systems, Inc. * - * This file is subject to the Apple OS-Developed Software exception. - * - * Contents: - * - * ppdPageSize() - Get the page size record for the given size. - * ppdPageSizeLimits() - Return the custom page size limits. - * ppdPageWidth() - Get the page width for the given size. - * ppdPageLength() - Get the page length for the given size. + * This file is subject to the Apple OS-Developed Software exception. */ /* diff --git a/cups/ppd-private.h b/cups/ppd-private.h index 34327027a..b8254446a 100644 --- a/cups/ppd-private.h +++ b/cups/ppd-private.h @@ -56,6 +56,18 @@ extern "C" { * Types and structures... */ +typedef struct _ppd_globals_s /**** CUPS PPD global state data ****/ +{ + /* ppd.c */ + ppd_status_t ppd_status; /* Status of last ppdOpen*() */ + int ppd_line; /* Current line number */ + ppd_conform_t ppd_conform; /* Level of conformance required */ + + /* ppd-util.c */ + char ppd_filename[HTTP_MAX_URI]; + /* PPD filename */ +} _ppd_globals_t; + typedef enum _ppd_localization_e /**** Selector for _ppdOpen ****/ { _PPD_LOCALIZATION_DEFAULT, /* Load only the default localization */ @@ -205,6 +217,7 @@ extern char *_ppdCreateFromIPP(char *buffer, size_t bufsize, ipp_t *response); extern void _ppdFreeLanguages(cups_array_t *languages); extern cups_encoding_t _ppdGetEncoding(const char *name); extern cups_array_t *_ppdGetLanguages(ppd_file_t *ppd); +extern _ppd_globals_t *_ppdGlobals(void); extern unsigned _ppdHashName(const char *name); extern ppd_attr_t *_ppdLocalizedAttr(ppd_file_t *ppd, const char *keyword, const char *spec, const char *ll_CC); diff --git a/cups/ppd-util.c b/cups/ppd-util.c new file mode 100644 index 000000000..918ab78d6 --- /dev/null +++ b/cups/ppd-util.c @@ -0,0 +1,723 @@ +/* + * "$Id$" + * + * PPD utilities for CUPS. + * + * Copyright 2007-2015 by Apple Inc. + * Copyright 1997-2006 by Easy Software Products. + * + * 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/". + * + * This file is subject to the Apple OS-Developed Software exception. + */ + +/* + * Include necessary headers... + */ + +#include "cups-private.h" +#include "ppd-private.h" +#include +#include +#if defined(WIN32) || defined(__EMX__) +# include +#else +# include +#endif /* WIN32 || __EMX__ */ + + +/* + * Local functions... + */ + +static int cups_get_printer_uri(http_t *http, const char *name, + char *host, int hostsize, int *port, + char *resource, int resourcesize, + int depth); + + +/* + * 'cupsGetPPD()' - Get the PPD file for a printer on the default server. + * + * For classes, @code cupsGetPPD@ returns the PPD file for the first printer + * in the class. + * + * The returned filename is stored in a static buffer and is overwritten with + * each call to @code cupsGetPPD@ or @link cupsGetPPD2@. The caller "owns" the + * file that is created and must @code unlink@ the returned filename. + */ + +const char * /* O - Filename for PPD file */ +cupsGetPPD(const char *name) /* I - Destination name */ +{ + _ppd_globals_t *pg = _ppdGlobals(); /* Pointer to library globals */ + time_t modtime = 0; /* Modification time */ + + + /* + * Return the PPD file... + */ + + pg->ppd_filename[0] = '\0'; + + if (cupsGetPPD3(CUPS_HTTP_DEFAULT, name, &modtime, pg->ppd_filename, + sizeof(pg->ppd_filename)) == HTTP_STATUS_OK) + return (pg->ppd_filename); + else + return (NULL); +} + + +/* + * 'cupsGetPPD2()' - Get the PPD file for a printer from the specified server. + * + * For classes, @code cupsGetPPD2@ returns the PPD file for the first printer + * in the class. + * + * The returned filename is stored in a static buffer and is overwritten with + * each call to @link cupsGetPPD@ or @code cupsGetPPD2@. The caller "owns" the + * file that is created and must @code unlink@ the returned filename. + * + * @since CUPS 1.1.21/OS X 10.4@ + */ + +const char * /* O - Filename for PPD file */ +cupsGetPPD2(http_t *http, /* I - Connection to server or @code CUPS_HTTP_DEFAULT@ */ + const char *name) /* I - Destination name */ +{ + _ppd_globals_t *pg = _ppdGlobals(); /* Pointer to library globals */ + time_t modtime = 0; /* Modification time */ + + + pg->ppd_filename[0] = '\0'; + + if (cupsGetPPD3(http, name, &modtime, pg->ppd_filename, + sizeof(pg->ppd_filename)) == HTTP_STATUS_OK) + return (pg->ppd_filename); + else + return (NULL); +} + + +/* + * 'cupsGetPPD3()' - Get the PPD file for a printer on the specified + * server if it has changed. + * + * The "modtime" parameter contains the modification time of any + * locally-cached content and is updated with the time from the PPD file on + * the server. + * + * The "buffer" parameter contains the local PPD filename. If it contains + * the empty string, a new temporary file is created, otherwise the existing + * file will be overwritten as needed. The caller "owns" the file that is + * created and must @code unlink@ the returned filename. + * + * On success, @code HTTP_STATUS_OK@ is returned for a new PPD file and + * @code HTTP_STATUS_NOT_MODIFIED@ if the existing PPD file is up-to-date. Any other + * status is an error. + * + * For classes, @code cupsGetPPD3@ returns the PPD file for the first printer + * in the class. + * + * @since CUPS 1.4/OS X 10.6@ + */ + +http_status_t /* O - HTTP status */ +cupsGetPPD3(http_t *http, /* I - HTTP connection or @code CUPS_HTTP_DEFAULT@ */ + const char *name, /* I - Destination name */ + time_t *modtime, /* IO - Modification time */ + char *buffer, /* I - Filename buffer */ + size_t bufsize) /* I - Size of filename buffer */ +{ + int http_port; /* Port number */ + char http_hostname[HTTP_MAX_HOST]; + /* Hostname associated with connection */ + http_t *http2; /* Alternate HTTP connection */ + int fd; /* PPD file */ + char localhost[HTTP_MAX_URI],/* Local hostname */ + hostname[HTTP_MAX_URI], /* Hostname */ + resource[HTTP_MAX_URI]; /* Resource name */ + int port; /* Port number */ + http_status_t status; /* HTTP status from server */ + char tempfile[1024] = ""; /* Temporary filename */ + _cups_globals_t *cg = _cupsGlobals(); /* Pointer to library globals */ + + + /* + * Range check input... + */ + + DEBUG_printf(("cupsGetPPD3(http=%p, name=\"%s\", modtime=%p(%d), buffer=%p, " + "bufsize=%d)", http, name, modtime, + modtime ? (int)*modtime : 0, buffer, (int)bufsize)); + + if (!name) + { + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("No printer name"), 1); + return (HTTP_STATUS_NOT_ACCEPTABLE); + } + + if (!modtime) + { + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("No modification time"), 1); + return (HTTP_STATUS_NOT_ACCEPTABLE); + } + + if (!buffer || bufsize <= 1) + { + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("Bad filename buffer"), 1); + return (HTTP_STATUS_NOT_ACCEPTABLE); + } + +#ifndef WIN32 + /* + * See if the PPD file is available locally... + */ + + if (http) + httpGetHostname(http, hostname, sizeof(hostname)); + else + { + strlcpy(hostname, cupsServer(), sizeof(hostname)); + if (hostname[0] == '/') + strlcpy(hostname, "localhost", sizeof(hostname)); + } + + if (!_cups_strcasecmp(hostname, "localhost")) + { + char ppdname[1024]; /* PPD filename */ + struct stat ppdinfo; /* PPD file information */ + + + snprintf(ppdname, sizeof(ppdname), "%s/ppd/%s.ppd", cg->cups_serverroot, + name); + if (!stat(ppdname, &ppdinfo) && !access(ppdname, R_OK)) + { + /* + * OK, the file exists and is readable, use it! + */ + + if (buffer[0]) + { + unlink(buffer); + + if (symlink(ppdname, buffer) && errno != EEXIST) + { + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, NULL, 0); + + return (HTTP_STATUS_SERVER_ERROR); + } + } + else + { + int tries; /* Number of tries */ + const char *tmpdir; /* TMPDIR environment variable */ + struct timeval curtime; /* Current time */ + + /* + * Previously we put root temporary files in the default CUPS temporary + * directory under /var/spool/cups. However, since the scheduler cleans + * out temporary files there and runs independently of the user apps, we + * don't want to use it unless specifically told to by cupsd. + */ + + if ((tmpdir = getenv("TMPDIR")) == NULL) +# ifdef __APPLE__ + tmpdir = "/private/tmp"; /* /tmp is a symlink to /private/tmp */ +# else + tmpdir = "/tmp"; +# endif /* __APPLE__ */ + + /* + * Make the temporary name using the specified directory... + */ + + tries = 0; + + do + { + /* + * Get the current time of day... + */ + + gettimeofday(&curtime, NULL); + + /* + * Format a string using the hex time values... + */ + + snprintf(buffer, bufsize, "%s/%08lx%05lx", tmpdir, + (unsigned long)curtime.tv_sec, + (unsigned long)curtime.tv_usec); + + /* + * Try to make a symlink... + */ + + if (!symlink(ppdname, buffer)) + break; + + tries ++; + } + while (tries < 1000); + + if (tries >= 1000) + { + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, NULL, 0); + + return (HTTP_STATUS_SERVER_ERROR); + } + } + + if (*modtime >= ppdinfo.st_mtime) + return (HTTP_STATUS_NOT_MODIFIED); + else + { + *modtime = ppdinfo.st_mtime; + return (HTTP_STATUS_OK); + } + } + } +#endif /* !WIN32 */ + + /* + * Try finding a printer URI for this printer... + */ + + if (!http) + if ((http = _cupsConnect()) == NULL) + return (HTTP_STATUS_SERVICE_UNAVAILABLE); + + if (!cups_get_printer_uri(http, name, hostname, sizeof(hostname), &port, + resource, sizeof(resource), 0)) + return (HTTP_STATUS_NOT_FOUND); + + DEBUG_printf(("2cupsGetPPD3: Printer hostname=\"%s\", port=%d", hostname, + port)); + + if (cupsServer()[0] == '/' && !_cups_strcasecmp(hostname, "localhost") && port == ippPort()) + { + /* + * Redirect localhost to domain socket... + */ + + strlcpy(hostname, cupsServer(), sizeof(hostname)); + port = 0; + + DEBUG_printf(("2cupsGetPPD3: Redirecting to \"%s\".", hostname)); + } + + /* + * Remap local hostname to localhost... + */ + + httpGetHostname(NULL, localhost, sizeof(localhost)); + + DEBUG_printf(("2cupsGetPPD3: Local hostname=\"%s\"", localhost)); + + if (!_cups_strcasecmp(localhost, hostname)) + strlcpy(hostname, "localhost", sizeof(hostname)); + + /* + * Get the hostname and port number we are connected to... + */ + + httpGetHostname(http, http_hostname, sizeof(http_hostname)); + http_port = httpAddrPort(http->hostaddr); + + DEBUG_printf(("2cupsGetPPD3: Connection hostname=\"%s\", port=%d", + http_hostname, http_port)); + + /* + * Reconnect to the correct server as needed... + */ + + if (!_cups_strcasecmp(http_hostname, hostname) && port == http_port) + http2 = http; + else if ((http2 = httpConnect2(hostname, port, NULL, AF_UNSPEC, + cupsEncryption(), 1, 30000, NULL)) == NULL) + { + DEBUG_puts("1cupsGetPPD3: Unable to connect to server"); + + return (HTTP_STATUS_SERVICE_UNAVAILABLE); + } + + /* + * Get a temp file... + */ + + if (buffer[0]) + fd = open(buffer, O_CREAT | O_TRUNC | O_WRONLY, 0600); + else + fd = cupsTempFd(tempfile, sizeof(tempfile)); + + if (fd < 0) + { + /* + * Can't open file; close the server connection and return NULL... + */ + + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, NULL, 0); + + if (http2 != http) + httpClose(http2); + + return (HTTP_STATUS_SERVER_ERROR); + } + + /* + * And send a request to the HTTP server... + */ + + strlcat(resource, ".ppd", sizeof(resource)); + + if (*modtime > 0) + httpSetField(http2, HTTP_FIELD_IF_MODIFIED_SINCE, + httpGetDateString(*modtime)); + + status = cupsGetFd(http2, resource, fd); + + close(fd); + + /* + * See if we actually got the file or an error... + */ + + if (status == HTTP_STATUS_OK) + { + *modtime = httpGetDateTime(httpGetField(http2, HTTP_FIELD_DATE)); + + if (tempfile[0]) + strlcpy(buffer, tempfile, bufsize); + } + else if (status != HTTP_STATUS_NOT_MODIFIED) + { + _cupsSetHTTPError(status); + + if (buffer[0]) + unlink(buffer); + else if (tempfile[0]) + unlink(tempfile); + } + else if (tempfile[0]) + unlink(tempfile); + + if (http2 != http) + httpClose(http2); + + /* + * Return the PPD file... + */ + + DEBUG_printf(("1cupsGetPPD3: Returning status %d", status)); + + return (status); +} + + +/* + * 'cupsGetServerPPD()' - Get an available PPD file from the server. + * + * This function returns the named PPD file from the server. The + * list of available PPDs is provided by the IPP @code CUPS_GET_PPDS@ + * operation. + * + * You must remove (unlink) the PPD file when you are finished with + * it. The PPD filename is stored in a static location that will be + * overwritten on the next call to @link cupsGetPPD@, @link cupsGetPPD2@, + * or @link cupsGetServerPPD@. + * + * @since CUPS 1.3/OS X 10.5@ + */ + +char * /* O - Name of PPD file or @code NULL@ on error */ +cupsGetServerPPD(http_t *http, /* I - Connection to server or @code CUPS_HTTP_DEFAULT@ */ + const char *name) /* I - Name of PPD file ("ppd-name") */ +{ + int fd; /* PPD file descriptor */ + ipp_t *request; /* IPP request */ + _ppd_globals_t *pg = _ppdGlobals(); + /* Pointer to library globals */ + + + /* + * Range check input... + */ + + if (!name) + { + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("No PPD name"), 1); + + return (NULL); + } + + if (!http) + if ((http = _cupsConnect()) == NULL) + return (NULL); + + /* + * Get a temp file... + */ + + if ((fd = cupsTempFd(pg->ppd_filename, sizeof(pg->ppd_filename))) < 0) + { + /* + * Can't open file; close the server connection and return NULL... + */ + + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, NULL, 0); + + return (NULL); + } + + /* + * Get the PPD file... + */ + + request = ippNewRequest(IPP_OP_CUPS_GET_PPD); + ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "ppd-name", NULL, + name); + + ippDelete(cupsDoIORequest(http, request, "/", -1, fd)); + + close(fd); + + if (cupsLastError() != IPP_STATUS_OK) + { + unlink(pg->ppd_filename); + return (NULL); + } + else + return (pg->ppd_filename); +} + + +/* + * 'cups_get_printer_uri()' - Get the printer-uri-supported attribute for the + * first printer in a class. + */ + +static int /* O - 1 on success, 0 on failure */ +cups_get_printer_uri( + http_t *http, /* I - Connection to server */ + const char *name, /* I - Name of printer or class */ + char *host, /* I - Hostname buffer */ + int hostsize, /* I - Size of hostname buffer */ + int *port, /* O - Port number */ + char *resource, /* I - Resource buffer */ + int resourcesize, /* I - Size of resource buffer */ + int depth) /* I - Depth of query */ +{ + int i; /* Looping var */ + int http_port; /* Port number */ + http_t *http2; /* Alternate HTTP connection */ + ipp_t *request, /* IPP request */ + *response; /* IPP response */ + ipp_attribute_t *attr; /* Current attribute */ + char uri[HTTP_MAX_URI], /* printer-uri attribute */ + scheme[HTTP_MAX_URI], /* Scheme name */ + username[HTTP_MAX_URI], /* Username:password */ + classname[255], /* Temporary class name */ + http_hostname[HTTP_MAX_HOST]; + /* Hostname associated with connection */ + static const char * const requested_attrs[] = + { /* Requested attributes */ + "device-uri", + "member-uris", + "printer-uri-supported", + "printer-type" + }; + + + DEBUG_printf(("4cups_get_printer_uri(http=%p, name=\"%s\", host=%p, hostsize=%d, resource=%p, resourcesize=%d, depth=%d)", http, name, host, hostsize, resource, resourcesize, depth)); + + /* + * Setup the printer URI... + */ + + if (httpAssembleURIf(HTTP_URI_CODING_ALL, uri, sizeof(uri), "ipp", NULL, "localhost", 0, "/printers/%s", name) < HTTP_URI_STATUS_OK) + { + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("Unable to create printer-uri"), 1); + + *host = '\0'; + *resource = '\0'; + + return (0); + } + + DEBUG_printf(("5cups_get_printer_uri: printer-uri=\"%s\"", uri)); + + /* + * Get the hostname and port number we are connected to... + */ + + httpGetHostname(http, http_hostname, sizeof(http_hostname)); + http_port = httpAddrPort(http->hostaddr); + + DEBUG_printf(("5cups_get_printer_uri: http_hostname=\"%s\"", http_hostname)); + + /* + * Build an IPP_GET_PRINTER_ATTRIBUTES request, which requires the following + * attributes: + * + * attributes-charset + * attributes-natural-language + * printer-uri + * requested-attributes + */ + + request = ippNewRequest(IPP_OP_GET_PRINTER_ATTRIBUTES); + + ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL, uri); + + ippAddStrings(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD, "requested-attributes", sizeof(requested_attrs) / sizeof(requested_attrs[0]), NULL, requested_attrs); + + /* + * Do the request and get back a response... + */ + + snprintf(resource, (size_t)resourcesize, "/printers/%s", name); + + if ((response = cupsDoRequest(http, request, resource)) != NULL) + { + const char *device_uri = NULL; /* device-uri value */ + + if ((attr = ippFindAttribute(response, "device-uri", IPP_TAG_URI)) != NULL) + { + device_uri = attr->values[0].string.text; + DEBUG_printf(("5cups_get_printer_uri: device-uri=\"%s\"", device_uri)); + } + + if (device_uri && + (((!strncmp(device_uri, "ipp://", 6) || !strncmp(device_uri, "ipps://", 7)) && + (strstr(device_uri, "/printers/") != NULL || strstr(device_uri, "/classes/") != NULL)) || + ((strstr(device_uri, "._ipp.") != NULL || strstr(device_uri, "._ipps.") != NULL) && + !strcmp(device_uri + strlen(device_uri) - 5, "/cups")))) + { + /* + * Statically-configured shared printer. + */ + + httpSeparateURI(HTTP_URI_CODING_ALL, _httpResolveURI(device_uri, uri, sizeof(uri), _HTTP_RESOLVE_DEFAULT, NULL, NULL), scheme, sizeof(scheme), username, sizeof(username), host, hostsize, port, resource, resourcesize); + ippDelete(response); + + DEBUG_printf(("5cups_get_printer_uri: Resolved to host=\"%s\", port=%d, resource=\"%s\"", host, *port, resource)); + return (1); + } + else if ((attr = ippFindAttribute(response, "member-uris", IPP_TAG_URI)) != NULL) + { + /* + * Get the first actual printer name in the class... + */ + + DEBUG_printf(("5cups_get_printer_uri: Got member-uris with %d values.", ippGetCount(attr))); + + for (i = 0; i < attr->num_values; i ++) + { + DEBUG_printf(("5cups_get_printer_uri: member-uris[%d]=\"%s\"", i, ippGetString(attr, i, NULL))); + + httpSeparateURI(HTTP_URI_CODING_ALL, attr->values[i].string.text, scheme, sizeof(scheme), username, sizeof(username), host, hostsize, port, resource, resourcesize); + if (!strncmp(resource, "/printers/", 10)) + { + /* + * Found a printer! + */ + + ippDelete(response); + + DEBUG_printf(("5cups_get_printer_uri: Found printer member with host=\"%s\", port=%d, resource=\"%s\"", host, *port, resource)); + return (1); + } + } + + /* + * No printers in this class - try recursively looking for a printer, + * but not more than 3 levels deep... + */ + + if (depth < 3) + { + for (i = 0; i < attr->num_values; i ++) + { + httpSeparateURI(HTTP_URI_CODING_ALL, attr->values[i].string.text, + scheme, sizeof(scheme), username, sizeof(username), + host, hostsize, port, resource, resourcesize); + if (!strncmp(resource, "/classes/", 9)) + { + /* + * Found a class! Connect to the right server... + */ + + if (!_cups_strcasecmp(http_hostname, host) && *port == http_port) + http2 = http; + else if ((http2 = httpConnect2(host, *port, NULL, AF_UNSPEC, cupsEncryption(), 1, 30000, NULL)) == NULL) + { + DEBUG_puts("8cups_get_printer_uri: Unable to connect to server"); + + continue; + } + + /* + * Look up printers on that server... + */ + + strlcpy(classname, resource + 9, sizeof(classname)); + + cups_get_printer_uri(http2, classname, host, hostsize, port, + resource, resourcesize, depth + 1); + + /* + * Close the connection as needed... + */ + + if (http2 != http) + httpClose(http2); + + if (*host) + return (1); + } + } + } + } + else if ((attr = ippFindAttribute(response, "printer-uri-supported", IPP_TAG_URI)) != NULL) + { + httpSeparateURI(HTTP_URI_CODING_ALL, _httpResolveURI(attr->values[0].string.text, uri, sizeof(uri), _HTTP_RESOLVE_DEFAULT, NULL, NULL), scheme, sizeof(scheme), username, sizeof(username), host, hostsize, port, resource, resourcesize); + ippDelete(response); + + DEBUG_printf(("5cups_get_printer_uri: Resolved to host=\"%s\", port=%d, resource=\"%s\"", host, *port, resource)); + + if (!strncmp(resource, "/classes/", 9)) + { + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("No printer-uri found for class"), 1); + + *host = '\0'; + *resource = '\0'; + + DEBUG_puts("5cups_get_printer_uri: Not returning class."); + return (0); + } + + return (1); + } + + ippDelete(response); + } + + if (cupsLastError() != IPP_STATUS_ERROR_NOT_FOUND) + _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("No printer-uri found"), 1); + + *host = '\0'; + *resource = '\0'; + + DEBUG_puts("5cups_get_printer_uri: Printer URI not found."); + return (0); +} + + +/* + * End of "$Id$". + */ diff --git a/cups/ppd.c b/cups/ppd.c index 6547a2c06..21443e6b0 100644 --- a/cups/ppd.c +++ b/cups/ppd.c @@ -57,6 +57,18 @@ typedef struct _ppd_line_s } _ppd_line_t; +/* + * Local globals... + */ + +static _cups_threadkey_t ppd_globals_key = _CUPS_THREADKEY_INITIALIZER; + /* Thread local storage key */ +#ifdef HAVE_PTHREAD_H +static pthread_once_t ppd_globals_key_once = PTHREAD_ONCE_INIT; + /* One-time initialization object */ +#endif /* HAVE_PTHREAD_H */ + + /* * Local functions... */ @@ -80,16 +92,23 @@ static ppd_cparam_t *ppd_get_cparam(ppd_coption_t *opt, const char *param, const char *text); static ppd_group_t *ppd_get_group(ppd_file_t *ppd, const char *name, - const char *text, _cups_globals_t *cg, + const char *text, _ppd_globals_t *pg, cups_encoding_t encoding); static ppd_option_t *ppd_get_option(ppd_group_t *group, const char *name); +static _ppd_globals_t *ppd_globals_alloc(void); +#if defined(HAVE_PTHREAD_H) || defined(WIN32) +static void ppd_globals_free(_ppd_globals_t *g); +#endif /* HAVE_PTHREAD_H || WIN32 */ +#ifdef HAVE_PTHREAD_H +static void ppd_globals_init(void); +#endif /* HAVE_PTHREAD_H */ static int ppd_hash_option(ppd_option_t *option); static int ppd_read(cups_file_t *fp, _ppd_line_t *line, char *keyword, char *option, char *text, char **string, int ignoreblank, - _cups_globals_t *cg); + _ppd_globals_t *pg); static int ppd_update_filters(ppd_file_t *ppd, - _cups_globals_t *cg); + _ppd_globals_t *pg); /* @@ -352,6 +371,46 @@ _ppdGetEncoding(const char *name) /* I - LanguageEncoding string */ } +/* + * '_ppdGlobals()' - Return a pointer to thread local storage + */ + +_ppd_globals_t * /* O - Pointer to global data */ +_ppdGlobals(void) +{ + _ppd_globals_t *pg; /* Pointer to global data */ + + +#ifdef HAVE_PTHREAD_H + /* + * Initialize the global data exactly once... + */ + + pthread_once(&ppd_globals_key_once, ppd_globals_init); +#endif /* HAVE_PTHREAD_H */ + + /* + * See if we have allocated the data yet... + */ + + if ((pg = (_ppd_globals_t *)_cupsThreadGetData(ppd_globals_key)) == NULL) + { + /* + * No, allocate memory as set the pointer for the key... + */ + + if ((pg = ppd_globals_alloc()) != NULL) + _cupsThreadSetData(ppd_globals_key, pg); + } + + /* + * Return the pointer to the data... + */ + + return (pg); +} + + /* * 'ppdLastError()' - Return the status from the last ppdOpen*(). * @@ -361,14 +420,14 @@ _ppdGetEncoding(const char *name) /* I - LanguageEncoding string */ ppd_status_t /* O - Status code */ ppdLastError(int *line) /* O - Line number */ { - _cups_globals_t *cg = _cupsGlobals(); + _ppd_globals_t *pg = _ppdGlobals(); /* Global data */ if (line) - *line = cg->ppd_line; + *line = pg->ppd_line; - return (cg->ppd_status); + return (pg->ppd_status); } @@ -413,7 +472,7 @@ _ppdOpen( int ui_keyword; /* Is this line a UI keyword? */ cups_lang_t *lang; /* Language data */ cups_encoding_t encoding; /* Encoding of PPD file */ - _cups_globals_t *cg = _cupsGlobals(); + _ppd_globals_t *pg = _ppdGlobals(); /* Global data */ char custom_name[PPD_MAX_NAME]; /* CustomFoo attribute name */ @@ -496,8 +555,8 @@ _ppdOpen( * Default to "OK" status... */ - cg->ppd_status = PPD_OK; - cg->ppd_line = 0; + pg->ppd_status = PPD_OK; + pg->ppd_line = 0; /* * Range check input... @@ -505,7 +564,7 @@ _ppdOpen( if (fp == NULL) { - cg->ppd_status = PPD_NULL_FILE; + pg->ppd_status = PPD_NULL_FILE; return (NULL); } @@ -545,7 +604,7 @@ _ppdOpen( line.buffer = NULL; line.bufsize = 0; - mask = ppd_read(fp, &line, keyword, name, text, &string, 0, cg); + mask = ppd_read(fp, &line, keyword, name, text, &string, 0, pg); DEBUG_printf(("2_ppdOpen: mask=%x, keyword=\"%s\"...", mask, keyword)); @@ -557,8 +616,8 @@ _ppdOpen( * Either this is not a PPD file, or it is not a 4.x PPD file. */ - if (cg->ppd_status == PPD_OK) - cg->ppd_status = PPD_MISSING_PPDADOBE4; + if (pg->ppd_status == PPD_OK) + pg->ppd_status = PPD_MISSING_PPDADOBE4; _cupsStrFree(string); ppd_free(line.buffer); @@ -576,7 +635,7 @@ _ppdOpen( if ((ppd = calloc(1, sizeof(ppd_file_t))) == NULL) { - cg->ppd_status = PPD_ALLOC_ERROR; + pg->ppd_status = PPD_ALLOC_ERROR; _cupsStrFree(string); ppd_free(line.buffer); @@ -603,20 +662,20 @@ _ppdOpen( encoding = CUPS_ISO8859_1; loc = localeconv(); - while ((mask = ppd_read(fp, &line, keyword, name, text, &string, 1, cg)) != 0) + while ((mask = ppd_read(fp, &line, keyword, name, text, &string, 1, pg)) != 0) { DEBUG_printf(("2_ppdOpen: mask=%x, keyword=\"%s\", name=\"%s\", " "text=\"%s\", string=%d chars...", mask, keyword, name, text, string ? (int)strlen(string) : 0)); if (strncmp(keyword, "Default", 7) && !string && - cg->ppd_conform != PPD_CONFORM_RELAXED) + pg->ppd_conform != PPD_CONFORM_RELAXED) { /* * Need a string value! */ - cg->ppd_status = PPD_MISSING_VALUE; + pg->ppd_status = PPD_MISSING_VALUE; goto error; } @@ -707,7 +766,7 @@ _ppdOpen( if (!group) { - if ((group = ppd_get_group(ppd, "General", _("General"), cg, + if ((group = ppd_get_group(ppd, "General", _("General"), pg, encoding)) == NULL) goto error; @@ -720,7 +779,7 @@ _ppdOpen( if (option == NULL) { - cg->ppd_status = PPD_ALLOC_ERROR; + pg->ppd_status = PPD_ALLOC_ERROR; goto error; } @@ -844,7 +903,7 @@ _ppdOpen( if (!profile) { - cg->ppd_status = PPD_ALLOC_ERROR; + pg->ppd_status = PPD_ALLOC_ERROR; goto error; } @@ -878,7 +937,7 @@ _ppdOpen( if (filter == NULL) { - cg->ppd_status = PPD_ALLOC_ERROR; + pg->ppd_status = PPD_ALLOC_ERROR; goto error; } @@ -908,7 +967,7 @@ _ppdOpen( if (tempfonts == NULL) { - cg->ppd_status = PPD_ALLOC_ERROR; + pg->ppd_status = PPD_ALLOC_ERROR; goto error; } @@ -933,14 +992,14 @@ _ppdOpen( if ((coption = ppd_get_coption(ppd, keyword + 11)) == NULL) { - cg->ppd_status = PPD_ALLOC_ERROR; + pg->ppd_status = PPD_ALLOC_ERROR; goto error; } if ((cparam = ppd_get_cparam(coption, name, text)) == NULL) { - cg->ppd_status = PPD_ALLOC_ERROR; + pg->ppd_status = PPD_ALLOC_ERROR; goto error; } @@ -953,7 +1012,7 @@ _ppdOpen( sscanf(string, "%d%32s%64s%64s", &corder, ctype, cminimum, cmaximum) != 4) { - cg->ppd_status = PPD_BAD_CUSTOM_PARAM; + pg->ppd_status = PPD_BAD_CUSTOM_PARAM; goto error; } @@ -1010,7 +1069,7 @@ _ppdOpen( } else { - cg->ppd_status = PPD_BAD_CUSTOM_PARAM; + pg->ppd_status = PPD_BAD_CUSTOM_PARAM; goto error; } @@ -1050,7 +1109,7 @@ _ppdOpen( if (!ppd_get_coption(ppd, keyword + 6)) { - cg->ppd_status = PPD_ALLOC_ERROR; + pg->ppd_status = PPD_ALLOC_ERROR; goto error; } @@ -1071,7 +1130,7 @@ _ppdOpen( { DEBUG_puts("1_ppdOpen: Unable to add Custom choice!"); - cg->ppd_status = PPD_ALLOC_ERROR; + pg->ppd_status = PPD_ALLOC_ERROR; goto error; } @@ -1111,7 +1170,7 @@ _ppdOpen( { DEBUG_puts("1_ppdOpen: Unable to add Custom choice!"); - cg->ppd_status = PPD_ALLOC_ERROR; + pg->ppd_status = PPD_ALLOC_ERROR; goto error; } @@ -1141,7 +1200,7 @@ _ppdOpen( ppd->num_emulations = count; if ((ppd->emulations = calloc((size_t)count, sizeof(ppd_emul_t))) == NULL) { - cg->ppd_status = PPD_ALLOC_ERROR; + pg->ppd_status = PPD_ALLOC_ERROR; goto error; } @@ -1198,19 +1257,19 @@ _ppdOpen( * Found "*JobPatchFile: int: string"... */ - cg->ppd_status = PPD_BAD_VALUE; + pg->ppd_status = PPD_BAD_VALUE; goto error; } } - if (!name[0] && cg->ppd_conform == PPD_CONFORM_STRICT) + if (!name[0] && pg->ppd_conform == PPD_CONFORM_STRICT) { /* * Found "*JobPatchFile: string"... */ - cg->ppd_status = PPD_MISSING_OPTION_KEYWORD; + pg->ppd_status = PPD_MISSING_OPTION_KEYWORD; goto error; } @@ -1223,7 +1282,7 @@ _ppdOpen( strlen(string) + 1); if (temp == NULL) { - cg->ppd_status = PPD_ALLOC_ERROR; + pg->ppd_status = PPD_ALLOC_ERROR; goto error; } @@ -1239,9 +1298,9 @@ _ppdOpen( * Don't allow nesting of options... */ - if (option && cg->ppd_conform == PPD_CONFORM_STRICT) + if (option && pg->ppd_conform == PPD_CONFORM_STRICT) { - cg->ppd_status = PPD_NESTED_OPEN_UI; + pg->ppd_status = PPD_NESTED_OPEN_UI; goto error; } @@ -1265,7 +1324,7 @@ _ppdOpen( option = ppd_get_option(subgroup, name); else if (group == NULL) { - if ((group = ppd_get_group(ppd, "General", _("General"), cg, + if ((group = ppd_get_group(ppd, "General", _("General"), pg, encoding)) == NULL) goto error; @@ -1278,7 +1337,7 @@ _ppdOpen( if (option == NULL) { - cg->ppd_status = PPD_ALLOC_ERROR; + pg->ppd_status = PPD_ALLOC_ERROR; goto error; } @@ -1293,9 +1352,9 @@ _ppdOpen( option->ui = PPD_UI_BOOLEAN; else if (string && !strcmp(string, "PickOne")) option->ui = PPD_UI_PICKONE; - else if (cg->ppd_conform == PPD_CONFORM_STRICT) + else if (pg->ppd_conform == PPD_CONFORM_STRICT) { - cg->ppd_status = PPD_BAD_OPEN_UI; + pg->ppd_status = PPD_BAD_OPEN_UI; goto error; } @@ -1355,7 +1414,7 @@ _ppdOpen( { DEBUG_puts("1_ppdOpen: Unable to add Custom choice!"); - cg->ppd_status = PPD_ALLOC_ERROR; + pg->ppd_status = PPD_ALLOC_ERROR; goto error; } @@ -1372,9 +1431,9 @@ _ppdOpen( * Don't allow nesting of options... */ - if (option && cg->ppd_conform == PPD_CONFORM_STRICT) + if (option && pg->ppd_conform == PPD_CONFORM_STRICT) { - cg->ppd_status = PPD_NESTED_OPEN_UI; + pg->ppd_status = PPD_NESTED_OPEN_UI; goto error; } @@ -1383,7 +1442,7 @@ _ppdOpen( * Find the JCL group, and add if needed... */ - group = ppd_get_group(ppd, "JCL", _("JCL"), cg, encoding); + group = ppd_get_group(ppd, "JCL", _("JCL"), pg, encoding); if (group == NULL) goto error; @@ -1399,7 +1458,7 @@ _ppdOpen( if (option == NULL) { - cg->ppd_status = PPD_ALLOC_ERROR; + pg->ppd_status = PPD_ALLOC_ERROR; goto error; } @@ -1416,7 +1475,7 @@ _ppdOpen( option->ui = PPD_UI_PICKONE; else { - cg->ppd_status = PPD_BAD_OPEN_UI; + pg->ppd_status = PPD_BAD_OPEN_UI; goto error; } @@ -1458,7 +1517,7 @@ _ppdOpen( { DEBUG_puts("1_ppdOpen: Unable to add Custom choice!"); - cg->ppd_status = PPD_ALLOC_ERROR; + pg->ppd_status = PPD_ALLOC_ERROR; goto error; } @@ -1484,14 +1543,14 @@ _ppdOpen( if (group != NULL) { - cg->ppd_status = PPD_NESTED_OPEN_GROUP; + pg->ppd_status = PPD_NESTED_OPEN_GROUP; goto error; } if (!string) { - cg->ppd_status = PPD_BAD_OPEN_GROUP; + pg->ppd_status = PPD_BAD_OPEN_GROUP; goto error; } @@ -1515,7 +1574,7 @@ _ppdOpen( * Find/add the group... */ - group = ppd_get_group(ppd, string, sptr, cg, encoding); + group = ppd_get_group(ppd, string, sptr, pg, encoding); if (group == NULL) goto error; @@ -1536,7 +1595,7 @@ _ppdOpen( if (!sptr || sscanf(sptr, "%40s%40s", name, keyword) != 2) { - cg->ppd_status = PPD_BAD_ORDER_DEPENDENCY; + pg->ppd_status = PPD_BAD_ORDER_DEPENDENCY; goto error; } @@ -1656,7 +1715,7 @@ _ppdOpen( { if (!string) { - cg->ppd_status = PPD_BAD_UI_CONSTRAINTS; + pg->ppd_status = PPD_BAD_UI_CONSTRAINTS; goto error; } @@ -1667,7 +1726,7 @@ _ppdOpen( if (constraint == NULL) { - cg->ppd_status = PPD_ALLOC_ERROR; + pg->ppd_status = PPD_ALLOC_ERROR; goto error; } @@ -1682,7 +1741,7 @@ _ppdOpen( { case 0 : /* Error */ case 1 : /* Error */ - cg->ppd_status = PPD_BAD_UI_CONSTRAINTS; + pg->ppd_status = PPD_BAD_UI_CONSTRAINTS; goto error; case 2 : /* Two options... */ @@ -1690,11 +1749,11 @@ _ppdOpen( * Check for broken constraints like "* Option"... */ - if (cg->ppd_conform == PPD_CONFORM_STRICT && + if (pg->ppd_conform == PPD_CONFORM_STRICT && (!strcmp(constraint->option1, "*") || !strcmp(constraint->choice1, "*"))) { - cg->ppd_status = PPD_BAD_UI_CONSTRAINTS; + pg->ppd_status = PPD_BAD_UI_CONSTRAINTS; goto error; } @@ -1705,17 +1764,17 @@ _ppdOpen( if (constraint->option1[0] == '*') _cups_strcpy(constraint->option1, constraint->option1 + 1); - else if (cg->ppd_conform == PPD_CONFORM_STRICT) + else if (pg->ppd_conform == PPD_CONFORM_STRICT) { - cg->ppd_status = PPD_BAD_UI_CONSTRAINTS; + pg->ppd_status = PPD_BAD_UI_CONSTRAINTS; goto error; } if (constraint->choice1[0] == '*') _cups_strcpy(constraint->option2, constraint->choice1 + 1); - else if (cg->ppd_conform == PPD_CONFORM_STRICT) + else if (pg->ppd_conform == PPD_CONFORM_STRICT) { - cg->ppd_status = PPD_BAD_UI_CONSTRAINTS; + pg->ppd_status = PPD_BAD_UI_CONSTRAINTS; goto error; } @@ -1728,12 +1787,12 @@ _ppdOpen( * Check for broken constraints like "* Option"... */ - if (cg->ppd_conform == PPD_CONFORM_STRICT && + if (pg->ppd_conform == PPD_CONFORM_STRICT && (!strcmp(constraint->option1, "*") || !strcmp(constraint->choice1, "*") || !strcmp(constraint->option2, "*"))) { - cg->ppd_status = PPD_BAD_UI_CONSTRAINTS; + pg->ppd_status = PPD_BAD_UI_CONSTRAINTS; goto error; } @@ -1744,18 +1803,18 @@ _ppdOpen( if (constraint->option1[0] == '*') _cups_strcpy(constraint->option1, constraint->option1 + 1); - else if (cg->ppd_conform == PPD_CONFORM_STRICT) + else if (pg->ppd_conform == PPD_CONFORM_STRICT) { - cg->ppd_status = PPD_BAD_UI_CONSTRAINTS; + pg->ppd_status = PPD_BAD_UI_CONSTRAINTS; goto error; } if (constraint->choice1[0] == '*') { - if (cg->ppd_conform == PPD_CONFORM_STRICT && + if (pg->ppd_conform == PPD_CONFORM_STRICT && constraint->option2[0] == '*') { - cg->ppd_status = PPD_BAD_UI_CONSTRAINTS; + pg->ppd_status = PPD_BAD_UI_CONSTRAINTS; goto error; } @@ -1767,9 +1826,9 @@ _ppdOpen( { if (constraint->option2[0] == '*') _cups_strcpy(constraint->option2, constraint->option2 + 1); - else if (cg->ppd_conform == PPD_CONFORM_STRICT) + else if (pg->ppd_conform == PPD_CONFORM_STRICT) { - cg->ppd_status = PPD_BAD_UI_CONSTRAINTS; + pg->ppd_status = PPD_BAD_UI_CONSTRAINTS; goto error; } @@ -1782,43 +1841,43 @@ _ppdOpen( * Check for broken constraints like "* Option"... */ - if (cg->ppd_conform == PPD_CONFORM_STRICT && + if (pg->ppd_conform == PPD_CONFORM_STRICT && (!strcmp(constraint->option1, "*") || !strcmp(constraint->choice1, "*") || !strcmp(constraint->option2, "*") || !strcmp(constraint->choice2, "*"))) { - cg->ppd_status = PPD_BAD_UI_CONSTRAINTS; + pg->ppd_status = PPD_BAD_UI_CONSTRAINTS; goto error; } if (constraint->option1[0] == '*') _cups_strcpy(constraint->option1, constraint->option1 + 1); - else if (cg->ppd_conform == PPD_CONFORM_STRICT) + else if (pg->ppd_conform == PPD_CONFORM_STRICT) { - cg->ppd_status = PPD_BAD_UI_CONSTRAINTS; + pg->ppd_status = PPD_BAD_UI_CONSTRAINTS; goto error; } - if (cg->ppd_conform == PPD_CONFORM_STRICT && + if (pg->ppd_conform == PPD_CONFORM_STRICT && constraint->choice1[0] == '*') { - cg->ppd_status = PPD_BAD_UI_CONSTRAINTS; + pg->ppd_status = PPD_BAD_UI_CONSTRAINTS; goto error; } if (constraint->option2[0] == '*') _cups_strcpy(constraint->option2, constraint->option2 + 1); - else if (cg->ppd_conform == PPD_CONFORM_STRICT) + else if (pg->ppd_conform == PPD_CONFORM_STRICT) { - cg->ppd_status = PPD_BAD_UI_CONSTRAINTS; + pg->ppd_status = PPD_BAD_UI_CONSTRAINTS; goto error; } - if (cg->ppd_conform == PPD_CONFORM_STRICT && + if (pg->ppd_conform == PPD_CONFORM_STRICT && constraint->choice2[0] == '*') { - cg->ppd_status = PPD_BAD_UI_CONSTRAINTS; + pg->ppd_status = PPD_BAD_UI_CONSTRAINTS; goto error; } break; @@ -1842,7 +1901,7 @@ _ppdOpen( * Unable to add or find size! */ - cg->ppd_status = PPD_ALLOC_ERROR; + pg->ppd_status = PPD_ALLOC_ERROR; goto error; } @@ -1864,7 +1923,7 @@ _ppdOpen( * Unable to add or find size! */ - cg->ppd_status = PPD_ALLOC_ERROR; + pg->ppd_status = PPD_ALLOC_ERROR; goto error; } @@ -1900,7 +1959,7 @@ _ppdOpen( if ((choice = ppd_add_choice(option, name)) == NULL) { - cg->ppd_status = PPD_ALLOC_ERROR; + pg->ppd_status = PPD_ALLOC_ERROR; goto error; } @@ -1937,9 +1996,9 @@ _ppdOpen( * Check for a missing CloseGroup... */ - if (group && cg->ppd_conform == PPD_CONFORM_STRICT) + if (group && pg->ppd_conform == PPD_CONFORM_STRICT) { - cg->ppd_status = PPD_MISSING_CLOSE_GROUP; + pg->ppd_status = PPD_MISSING_CLOSE_GROUP; goto error; } @@ -1955,7 +2014,7 @@ _ppdOpen( (unsigned long)cupsFileTell(fp))); #endif /* DEBUG */ - if (cg->ppd_status != PPD_OK) + if (pg->ppd_status != PPD_OK) { /* * Had an error reading the PPD file, cannot continue! @@ -1970,7 +2029,7 @@ _ppdOpen( * Update the filters array as needed... */ - if (!ppd_update_filters(ppd, cg)) + if (!ppd_update_filters(ppd, pg)) { ppdClose(ppd); @@ -2090,7 +2149,7 @@ ppdOpenFd(int fd) /* I - File to read from */ { cups_file_t *fp; /* CUPS file pointer */ ppd_file_t *ppd; /* PPD file record */ - _cups_globals_t *cg = _cupsGlobals(); + _ppd_globals_t *pg = _ppdGlobals(); /* Global data */ @@ -2098,7 +2157,7 @@ ppdOpenFd(int fd) /* I - File to read from */ * Set the line number to 0... */ - cg->ppd_line = 0; + pg->ppd_line = 0; /* * Range check input... @@ -2106,7 +2165,7 @@ ppdOpenFd(int fd) /* I - File to read from */ if (fd < 0) { - cg->ppd_status = PPD_NULL_FILE; + pg->ppd_status = PPD_NULL_FILE; return (NULL); } @@ -2123,7 +2182,7 @@ ppdOpenFd(int fd) /* I - File to read from */ } else { - cg->ppd_status = PPD_FILE_OPEN_ERROR; + pg->ppd_status = PPD_FILE_OPEN_ERROR; ppd = NULL; } @@ -2141,7 +2200,7 @@ _ppdOpenFile(const char *filename, /* I - File to read from */ { cups_file_t *fp; /* File pointer */ ppd_file_t *ppd; /* PPD file record */ - _cups_globals_t *cg = _cupsGlobals(); + _ppd_globals_t *pg = _ppdGlobals(); /* Global data */ @@ -2149,7 +2208,7 @@ _ppdOpenFile(const char *filename, /* I - File to read from */ * Set the line number to 0... */ - cg->ppd_line = 0; + pg->ppd_line = 0; /* * Range check input... @@ -2157,7 +2216,7 @@ _ppdOpenFile(const char *filename, /* I - File to read from */ if (filename == NULL) { - cg->ppd_status = PPD_NULL_FILE; + pg->ppd_status = PPD_NULL_FILE; return (NULL); } @@ -2174,7 +2233,7 @@ _ppdOpenFile(const char *filename, /* I - File to read from */ } else { - cg->ppd_status = PPD_FILE_OPEN_ERROR; + pg->ppd_status = PPD_FILE_OPEN_ERROR; ppd = NULL; } @@ -2202,11 +2261,11 @@ ppdOpenFile(const char *filename) /* I - File to read from */ void ppdSetConformance(ppd_conform_t c) /* I - Conformance level */ { - _cups_globals_t *cg = _cupsGlobals(); + _ppd_globals_t *pg = _ppdGlobals(); /* Global data */ - cg->ppd_conform = c; + pg->ppd_conform = c; } @@ -2623,7 +2682,7 @@ static ppd_group_t * /* O - Named group */ ppd_get_group(ppd_file_t *ppd, /* I - PPD file */ const char *name, /* I - Name of group */ const char *text, /* I - Text for group */ - _cups_globals_t *cg, /* I - Global data */ + _ppd_globals_t *pg, /* I - Global data */ cups_encoding_t encoding) /* I - Encoding of text */ { int i; /* Looping var */ @@ -2631,7 +2690,7 @@ ppd_get_group(ppd_file_t *ppd, /* I - PPD file */ DEBUG_printf(("7ppd_get_group(ppd=%p, name=\"%s\", text=\"%s\", cg=%p)", - ppd, name, text, cg)); + ppd, name, text, pg)); for (i = ppd->num_groups, group = ppd->groups; i > 0; i --, group ++) if (!strcmp(group->name, name)) @@ -2641,9 +2700,9 @@ ppd_get_group(ppd_file_t *ppd, /* I - PPD file */ { DEBUG_printf(("8ppd_get_group: Adding group %s...", name)); - if (cg->ppd_conform == PPD_CONFORM_STRICT && strlen(text) >= sizeof(group->text)) + if (pg->ppd_conform == PPD_CONFORM_STRICT && strlen(text) >= sizeof(group->text)) { - cg->ppd_status = PPD_ILLEGAL_TRANSLATION; + pg->ppd_status = PPD_ILLEGAL_TRANSLATION; return (NULL); } @@ -2655,7 +2714,7 @@ ppd_get_group(ppd_file_t *ppd, /* I - PPD file */ if (group == NULL) { - cg->ppd_status = PPD_ALLOC_ERROR; + pg->ppd_status = PPD_ALLOC_ERROR; return (NULL); } @@ -2716,6 +2775,47 @@ ppd_get_option(ppd_group_t *group, /* I - Group */ } +/* + * 'ppd_globals_alloc()' - Allocate and initialize global data. + */ + +static _ppd_globals_t * /* O - Pointer to global data */ +ppd_globals_alloc(void) +{ + return ((_ppd_globals_t *)calloc(1, sizeof(_ppd_globals_t))); +} + + +/* + * 'ppd_globals_free()' - Free global data. + */ + +#if defined(HAVE_PTHREAD_H) || defined(WIN32) +static void +ppd_globals_free(_ppd_globals_t *pg) /* I - Pointer to global data */ +{ + free(pg); +} +#endif /* HAVE_PTHREAD_H || WIN32 */ + + +#ifdef HAVE_PTHREAD_H +/* + * 'ppd_globals_init()' - Initialize per-thread globals... + */ + +static void +ppd_globals_init(void) +{ + /* + * Register the global data for this thread... + */ + + pthread_key_create(&ppd_globals_key, (void (*)(void *))ppd_globals_free); +} +#endif /* HAVE_PTHREAD_H */ + + /* * 'ppd_hash_option()' - Generate a hash of the option name... */ @@ -2747,7 +2847,7 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ char *text, /* O - Human-readable text from line */ char **string, /* O - Code/string data */ int ignoreblank, /* I - Ignore blank lines? */ - _cups_globals_t *cg) /* I - Global data */ + _ppd_globals_t *pg) /* I - Global data */ { int ch, /* Character from file */ col, /* Column in line */ @@ -2769,7 +2869,7 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ *string = NULL; col = 0; - startline = cg->ppd_line + 1; + startline = pg->ppd_line + 1; if (!line->buffer) { @@ -2808,8 +2908,8 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ * Don't allow lines longer than 256k! */ - cg->ppd_line = startline; - cg->ppd_status = PPD_LINE_TOO_LONG; + pg->ppd_line = startline; + pg->ppd_status = PPD_LINE_TOO_LONG; return (0); } @@ -2817,8 +2917,8 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ temp = realloc(line->buffer, line->bufsize); if (!temp) { - cg->ppd_line = startline; - cg->ppd_status = PPD_LINE_TOO_LONG; + pg->ppd_line = startline; + pg->ppd_status = PPD_LINE_TOO_LONG; return (0); } @@ -2833,7 +2933,7 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ * Line feed or carriage return... */ - cg->ppd_line ++; + pg->ppd_line ++; col = 0; if (ch == '\r') @@ -2862,14 +2962,14 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ *lineptr++ = '\n'; } - else if (ch < ' ' && ch != '\t' && cg->ppd_conform == PPD_CONFORM_STRICT) + else if (ch < ' ' && ch != '\t' && pg->ppd_conform == PPD_CONFORM_STRICT) { /* * Other control characters... */ - cg->ppd_line = startline; - cg->ppd_status = PPD_ILLEGAL_CHARACTER; + pg->ppd_line = startline; + pg->ppd_status = PPD_ILLEGAL_CHARACTER; return (0); } @@ -2888,8 +2988,8 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ * Line is too long... */ - cg->ppd_line = startline; - cg->ppd_status = PPD_LINE_TOO_LONG; + pg->ppd_line = startline; + pg->ppd_status = PPD_LINE_TOO_LONG; return (0); } @@ -2913,7 +3013,7 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ break; else if (ch == '\r' || ch == '\n') { - cg->ppd_line ++; + pg->ppd_line ++; col = 0; if (ch == '\r') @@ -2928,14 +3028,14 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ cupsFileGetChar(fp); } } - else if (ch < ' ' && ch != '\t' && cg->ppd_conform == PPD_CONFORM_STRICT) + else if (ch < ' ' && ch != '\t' && pg->ppd_conform == PPD_CONFORM_STRICT) { /* * Other control characters... */ - cg->ppd_line = startline; - cg->ppd_status = PPD_ILLEGAL_CHARACTER; + pg->ppd_line = startline; + pg->ppd_status = PPD_ILLEGAL_CHARACTER; return (0); } @@ -2949,8 +3049,8 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ * Line is too long... */ - cg->ppd_line = startline; - cg->ppd_status = PPD_LINE_TOO_LONG; + pg->ppd_line = startline; + pg->ppd_status = PPD_LINE_TOO_LONG; return (0); } @@ -2970,7 +3070,7 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ * Line feed or carriage return... */ - cg->ppd_line ++; + pg->ppd_line ++; col = 0; if (ch == '\r') @@ -2987,14 +3087,14 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ break; } - else if (ch < ' ' && ch != '\t' && cg->ppd_conform == PPD_CONFORM_STRICT) + else if (ch < ' ' && ch != '\t' && pg->ppd_conform == PPD_CONFORM_STRICT) { /* * Other control characters... */ - cg->ppd_line = startline; - cg->ppd_status = PPD_ILLEGAL_CHARACTER; + pg->ppd_line = startline; + pg->ppd_status = PPD_ILLEGAL_CHARACTER; return (0); } @@ -3008,8 +3108,8 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ * Line is too long... */ - cg->ppd_line = startline; - cg->ppd_status = PPD_LINE_TOO_LONG; + pg->ppd_line = startline; + pg->ppd_status = PPD_LINE_TOO_LONG; return (0); } @@ -3053,21 +3153,21 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ !strcmp(line->buffer, "*End")) && /* End of multi-line string */ ignoreblank) /* Ignore these? */ { - startline = cg->ppd_line + 1; + startline = pg->ppd_line + 1; continue; } if (!strcmp(line->buffer, "*")) /* (Bad) comment line */ { - if (cg->ppd_conform == PPD_CONFORM_RELAXED) + if (pg->ppd_conform == PPD_CONFORM_RELAXED) { - startline = cg->ppd_line + 1; + startline = pg->ppd_line + 1; continue; } else { - cg->ppd_line = startline; - cg->ppd_status = PPD_ILLEGAL_MAIN_KEYWORD; + pg->ppd_line = startline; + pg->ppd_status = PPD_ILLEGAL_MAIN_KEYWORD; return (0); } @@ -3085,7 +3185,7 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ if (*lineptr) { - cg->ppd_status = PPD_MISSING_ASTERISK; + pg->ppd_status = PPD_MISSING_ASTERISK; return (0); } else if (ignoreblank) @@ -3105,7 +3205,7 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ if (*lineptr <= ' ' || *lineptr > 126 || *lineptr == '/' || (keyptr - keyword) >= (PPD_MAX_NAME - 1)) { - cg->ppd_status = PPD_ILLEGAL_MAIN_KEYWORD; + pg->ppd_status = PPD_ILLEGAL_MAIN_KEYWORD; return (0); } @@ -3136,7 +3236,7 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ if (*lineptr <= ' ' || *lineptr > 126 || (optptr - option) >= (PPD_MAX_NAME - 1)) { - cg->ppd_status = PPD_ILLEGAL_OPTION_KEYWORD; + pg->ppd_status = PPD_ILLEGAL_OPTION_KEYWORD; return (0); } @@ -3145,9 +3245,9 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ *optptr = '\0'; - if (_cups_isspace(*lineptr) && cg->ppd_conform == PPD_CONFORM_STRICT) + if (_cups_isspace(*lineptr) && pg->ppd_conform == PPD_CONFORM_STRICT) { - cg->ppd_status = PPD_ILLEGAL_WHITESPACE; + pg->ppd_status = PPD_ILLEGAL_WHITESPACE; return (0); } @@ -3171,7 +3271,7 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ if (((unsigned char)*lineptr < ' ' && *lineptr != '\t') || (textptr - text) >= (PPD_MAX_LINE - 1)) { - cg->ppd_status = PPD_ILLEGAL_TRANSLATION; + pg->ppd_status = PPD_ILLEGAL_TRANSLATION; return (0); } @@ -3181,9 +3281,9 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ *textptr = '\0'; textlen = ppd_decode(text); - if (textlen > PPD_MAX_TEXT && cg->ppd_conform == PPD_CONFORM_STRICT) + if (textlen > PPD_MAX_TEXT && pg->ppd_conform == PPD_CONFORM_STRICT) { - cg->ppd_status = PPD_ILLEGAL_TRANSLATION; + pg->ppd_status = PPD_ILLEGAL_TRANSLATION; return (0); } @@ -3191,9 +3291,9 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ } } - if (_cups_isspace(*lineptr) && cg->ppd_conform == PPD_CONFORM_STRICT) + if (_cups_isspace(*lineptr) && pg->ppd_conform == PPD_CONFORM_STRICT) { - cg->ppd_status = PPD_ILLEGAL_WHITESPACE; + pg->ppd_status = PPD_ILLEGAL_WHITESPACE; return (0); } @@ -3245,8 +3345,8 @@ ppd_read(cups_file_t *fp, /* I - File to read from */ */ static int /* O - 1 on success, 0 on failure */ -ppd_update_filters(ppd_file_t *ppd,/* I - PPD file */ - _cups_globals_t *cg) /* I - Global data */ +ppd_update_filters(ppd_file_t *ppd, /* I - PPD file */ + _ppd_globals_t *pg) /* I - Global data */ { ppd_attr_t *attr; /* Current cupsFilter2 value */ char srcsuper[16], /* Source MIME media type */ @@ -3260,7 +3360,7 @@ ppd_update_filters(ppd_file_t *ppd,/* I - PPD file */ int cost; /* Cost of filter */ - DEBUG_printf(("4ppd_update_filters(ppd=%p, cg=%p)", ppd, cg)); + DEBUG_printf(("4ppd_update_filters(ppd=%p, cg=%p)", ppd, pg)); /* * See if we have any cupsFilter2 lines... @@ -3293,7 +3393,7 @@ ppd_update_filters(ppd_file_t *ppd,/* I - PPD file */ srcsuper, srctype, dstsuper, dsttype, &cost, program) != 6) { DEBUG_puts("5ppd_update_filters: Bad cupsFilter2 line."); - cg->ppd_status = PPD_BAD_VALUE; + pg->ppd_status = PPD_BAD_VALUE; return (0); } @@ -3337,7 +3437,7 @@ ppd_update_filters(ppd_file_t *ppd,/* I - PPD file */ if (filter == NULL) { DEBUG_puts("5ppd_update_filters: Out of memory."); - cg->ppd_status = PPD_ALLOC_ERROR; + pg->ppd_status = PPD_ALLOC_ERROR; return (0); } diff --git a/cups/ppd.h b/cups/ppd.h index 56d2b0eae..34d1b4f73 100644 --- a/cups/ppd.h +++ b/cups/ppd.h @@ -7,7 +7,7 @@ * -D_PPD_DEPRECATED="" TO YOUR COMPILE OPTIONS. THIS HEADER AND THESE * FUNCTIONS WILL BE REMOVED IN A FUTURE RELEASE OF CUPS. * - * Copyright 2007-2013 by Apple Inc. + * Copyright 2007-2015 by Apple Inc. * Copyright 1997-2007 by Easy Software Products, all rights reserved. * * These coded instructions, statements, and computer programs are the @@ -362,8 +362,12 @@ typedef struct ppd_file_s /**** PPD File ****/ * Prototypes... */ -extern int cupsMarkOptions(ppd_file_t *ppd, int num_options, - cups_option_t *options) _PPD_DEPRECATED; +extern const char *cupsGetPPD(const char *name) _PPD_DEPRECATED; +extern const char *cupsGetPPD2(http_t *http, const char *name) _PPD_DEPRECATED; +extern http_status_t cupsGetPPD3(http_t *http, const char *name, time_t *modtime, char *buffer, size_t bufsize) _PPD_DEPRECATED; +extern char *cupsGetServerPPD(http_t *http, const char *name) _PPD_DEPRECATED; +extern int cupsMarkOptions(ppd_file_t *ppd, int num_options, cups_option_t *options) _PPD_DEPRECATED; + extern void ppdClose(ppd_file_t *ppd) _PPD_DEPRECATED; extern int ppdCollect(ppd_file_t *ppd, ppd_section_t section, ppd_choice_t ***choices) _PPD_DEPRECATED; diff --git a/cups/testlang.c b/cups/testlang.c index b00505da4..cc7b4f699 100644 --- a/cups/testlang.c +++ b/cups/testlang.c @@ -24,6 +24,7 @@ */ #include "cups-private.h" +#include "ppd-private.h" /* diff --git a/cups/testppd.c b/cups/testppd.c index e87435fd8..b211d1d75 100644 --- a/cups/testppd.c +++ b/cups/testppd.c @@ -21,6 +21,7 @@ #undef _CUPS_NO_DEPRECATED #include "cups-private.h" +#include "ppd-private.h" #include #ifdef WIN32 # include diff --git a/cups/util.c b/cups/util.c index 839bbf999..48b5bfa55 100644 --- a/cups/util.c +++ b/cups/util.c @@ -29,16 +29,6 @@ #endif /* WIN32 || __EMX__ */ -/* - * Local functions... - */ - -static int cups_get_printer_uri(http_t *http, const char *name, - char *host, int hostsize, int *port, - char *resource, int resourcesize, - int depth); - - /* * 'cupsCancelJob()' - Cancel a print job on the default server. * @@ -691,385 +681,6 @@ cupsGetJobs2(http_t *http, /* I - Connection to server or @code CUPS_HTTP_D } -/* - * 'cupsGetPPD()' - Get the PPD file for a printer on the default server. - * - * For classes, @code cupsGetPPD@ returns the PPD file for the first printer - * in the class. - * - * The returned filename is stored in a static buffer and is overwritten with - * each call to @code cupsGetPPD@ or @link cupsGetPPD2@. The caller "owns" the - * file that is created and must @code unlink@ the returned filename. - */ - -const char * /* O - Filename for PPD file */ -cupsGetPPD(const char *name) /* I - Destination name */ -{ - _cups_globals_t *cg = _cupsGlobals(); /* Pointer to library globals */ - time_t modtime = 0; /* Modification time */ - - - /* - * Return the PPD file... - */ - - cg->ppd_filename[0] = '\0'; - - if (cupsGetPPD3(CUPS_HTTP_DEFAULT, name, &modtime, cg->ppd_filename, - sizeof(cg->ppd_filename)) == HTTP_STATUS_OK) - return (cg->ppd_filename); - else - return (NULL); -} - - -/* - * 'cupsGetPPD2()' - Get the PPD file for a printer from the specified server. - * - * For classes, @code cupsGetPPD2@ returns the PPD file for the first printer - * in the class. - * - * The returned filename is stored in a static buffer and is overwritten with - * each call to @link cupsGetPPD@ or @code cupsGetPPD2@. The caller "owns" the - * file that is created and must @code unlink@ the returned filename. - * - * @since CUPS 1.1.21/OS X 10.4@ - */ - -const char * /* O - Filename for PPD file */ -cupsGetPPD2(http_t *http, /* I - Connection to server or @code CUPS_HTTP_DEFAULT@ */ - const char *name) /* I - Destination name */ -{ - _cups_globals_t *cg = _cupsGlobals(); /* Pointer to library globals */ - time_t modtime = 0; /* Modification time */ - - - cg->ppd_filename[0] = '\0'; - - if (cupsGetPPD3(http, name, &modtime, cg->ppd_filename, - sizeof(cg->ppd_filename)) == HTTP_STATUS_OK) - return (cg->ppd_filename); - else - return (NULL); -} - - -/* - * 'cupsGetPPD3()' - Get the PPD file for a printer on the specified - * server if it has changed. - * - * The "modtime" parameter contains the modification time of any - * locally-cached content and is updated with the time from the PPD file on - * the server. - * - * The "buffer" parameter contains the local PPD filename. If it contains - * the empty string, a new temporary file is created, otherwise the existing - * file will be overwritten as needed. The caller "owns" the file that is - * created and must @code unlink@ the returned filename. - * - * On success, @code HTTP_STATUS_OK@ is returned for a new PPD file and - * @code HTTP_STATUS_NOT_MODIFIED@ if the existing PPD file is up-to-date. Any other - * status is an error. - * - * For classes, @code cupsGetPPD3@ returns the PPD file for the first printer - * in the class. - * - * @since CUPS 1.4/OS X 10.6@ - */ - -http_status_t /* O - HTTP status */ -cupsGetPPD3(http_t *http, /* I - HTTP connection or @code CUPS_HTTP_DEFAULT@ */ - const char *name, /* I - Destination name */ - time_t *modtime, /* IO - Modification time */ - char *buffer, /* I - Filename buffer */ - size_t bufsize) /* I - Size of filename buffer */ -{ - int http_port; /* Port number */ - char http_hostname[HTTP_MAX_HOST]; - /* Hostname associated with connection */ - http_t *http2; /* Alternate HTTP connection */ - int fd; /* PPD file */ - char localhost[HTTP_MAX_URI],/* Local hostname */ - hostname[HTTP_MAX_URI], /* Hostname */ - resource[HTTP_MAX_URI]; /* Resource name */ - int port; /* Port number */ - http_status_t status; /* HTTP status from server */ - char tempfile[1024] = ""; /* Temporary filename */ - _cups_globals_t *cg = _cupsGlobals(); /* Pointer to library globals */ - - - /* - * Range check input... - */ - - DEBUG_printf(("cupsGetPPD3(http=%p, name=\"%s\", modtime=%p(%d), buffer=%p, " - "bufsize=%d)", http, name, modtime, - modtime ? (int)*modtime : 0, buffer, (int)bufsize)); - - if (!name) - { - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("No printer name"), 1); - return (HTTP_STATUS_NOT_ACCEPTABLE); - } - - if (!modtime) - { - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("No modification time"), 1); - return (HTTP_STATUS_NOT_ACCEPTABLE); - } - - if (!buffer || bufsize <= 1) - { - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("Bad filename buffer"), 1); - return (HTTP_STATUS_NOT_ACCEPTABLE); - } - -#ifndef WIN32 - /* - * See if the PPD file is available locally... - */ - - if (http) - httpGetHostname(http, hostname, sizeof(hostname)); - else - { - strlcpy(hostname, cupsServer(), sizeof(hostname)); - if (hostname[0] == '/') - strlcpy(hostname, "localhost", sizeof(hostname)); - } - - if (!_cups_strcasecmp(hostname, "localhost")) - { - char ppdname[1024]; /* PPD filename */ - struct stat ppdinfo; /* PPD file information */ - - - snprintf(ppdname, sizeof(ppdname), "%s/ppd/%s.ppd", cg->cups_serverroot, - name); - if (!stat(ppdname, &ppdinfo) && !access(ppdname, R_OK)) - { - /* - * OK, the file exists and is readable, use it! - */ - - if (buffer[0]) - { - unlink(buffer); - - if (symlink(ppdname, buffer) && errno != EEXIST) - { - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, NULL, 0); - - return (HTTP_STATUS_SERVER_ERROR); - } - } - else - { - int tries; /* Number of tries */ - const char *tmpdir; /* TMPDIR environment variable */ - struct timeval curtime; /* Current time */ - - /* - * Previously we put root temporary files in the default CUPS temporary - * directory under /var/spool/cups. However, since the scheduler cleans - * out temporary files there and runs independently of the user apps, we - * don't want to use it unless specifically told to by cupsd. - */ - - if ((tmpdir = getenv("TMPDIR")) == NULL) -# ifdef __APPLE__ - tmpdir = "/private/tmp"; /* /tmp is a symlink to /private/tmp */ -# else - tmpdir = "/tmp"; -# endif /* __APPLE__ */ - - /* - * Make the temporary name using the specified directory... - */ - - tries = 0; - - do - { - /* - * Get the current time of day... - */ - - gettimeofday(&curtime, NULL); - - /* - * Format a string using the hex time values... - */ - - snprintf(buffer, bufsize, "%s/%08lx%05lx", tmpdir, - (unsigned long)curtime.tv_sec, - (unsigned long)curtime.tv_usec); - - /* - * Try to make a symlink... - */ - - if (!symlink(ppdname, buffer)) - break; - - tries ++; - } - while (tries < 1000); - - if (tries >= 1000) - { - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, NULL, 0); - - return (HTTP_STATUS_SERVER_ERROR); - } - } - - if (*modtime >= ppdinfo.st_mtime) - return (HTTP_STATUS_NOT_MODIFIED); - else - { - *modtime = ppdinfo.st_mtime; - return (HTTP_STATUS_OK); - } - } - } -#endif /* !WIN32 */ - - /* - * Try finding a printer URI for this printer... - */ - - if (!http) - if ((http = _cupsConnect()) == NULL) - return (HTTP_STATUS_SERVICE_UNAVAILABLE); - - if (!cups_get_printer_uri(http, name, hostname, sizeof(hostname), &port, - resource, sizeof(resource), 0)) - return (HTTP_STATUS_NOT_FOUND); - - DEBUG_printf(("2cupsGetPPD3: Printer hostname=\"%s\", port=%d", hostname, - port)); - - if (cupsServer()[0] == '/' && !_cups_strcasecmp(hostname, "localhost") && port == ippPort()) - { - /* - * Redirect localhost to domain socket... - */ - - strlcpy(hostname, cupsServer(), sizeof(hostname)); - port = 0; - - DEBUG_printf(("2cupsGetPPD3: Redirecting to \"%s\".", hostname)); - } - - /* - * Remap local hostname to localhost... - */ - - httpGetHostname(NULL, localhost, sizeof(localhost)); - - DEBUG_printf(("2cupsGetPPD3: Local hostname=\"%s\"", localhost)); - - if (!_cups_strcasecmp(localhost, hostname)) - strlcpy(hostname, "localhost", sizeof(hostname)); - - /* - * Get the hostname and port number we are connected to... - */ - - httpGetHostname(http, http_hostname, sizeof(http_hostname)); - http_port = httpAddrPort(http->hostaddr); - - DEBUG_printf(("2cupsGetPPD3: Connection hostname=\"%s\", port=%d", - http_hostname, http_port)); - - /* - * Reconnect to the correct server as needed... - */ - - if (!_cups_strcasecmp(http_hostname, hostname) && port == http_port) - http2 = http; - else if ((http2 = httpConnect2(hostname, port, NULL, AF_UNSPEC, - cupsEncryption(), 1, 30000, NULL)) == NULL) - { - DEBUG_puts("1cupsGetPPD3: Unable to connect to server"); - - return (HTTP_STATUS_SERVICE_UNAVAILABLE); - } - - /* - * Get a temp file... - */ - - if (buffer[0]) - fd = open(buffer, O_CREAT | O_TRUNC | O_WRONLY, 0600); - else - fd = cupsTempFd(tempfile, sizeof(tempfile)); - - if (fd < 0) - { - /* - * Can't open file; close the server connection and return NULL... - */ - - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, NULL, 0); - - if (http2 != http) - httpClose(http2); - - return (HTTP_STATUS_SERVER_ERROR); - } - - /* - * And send a request to the HTTP server... - */ - - strlcat(resource, ".ppd", sizeof(resource)); - - if (*modtime > 0) - httpSetField(http2, HTTP_FIELD_IF_MODIFIED_SINCE, - httpGetDateString(*modtime)); - - status = cupsGetFd(http2, resource, fd); - - close(fd); - - /* - * See if we actually got the file or an error... - */ - - if (status == HTTP_STATUS_OK) - { - *modtime = httpGetDateTime(httpGetField(http2, HTTP_FIELD_DATE)); - - if (tempfile[0]) - strlcpy(buffer, tempfile, bufsize); - } - else if (status != HTTP_STATUS_NOT_MODIFIED) - { - _cupsSetHTTPError(status); - - if (buffer[0]) - unlink(buffer); - else if (tempfile[0]) - unlink(tempfile); - } - else if (tempfile[0]) - unlink(tempfile); - - if (http2 != http) - httpClose(http2); - - /* - * Return the PPD file... - */ - - DEBUG_printf(("1cupsGetPPD3: Returning status %d", status)); - - return (status); -} - - /* * 'cupsGetPrinters()' - Get a list of printers from the default server. * @@ -1089,83 +700,6 @@ cupsGetPrinters(char ***printers) /* O - Printers */ } -/* - * 'cupsGetServerPPD()' - Get an available PPD file from the server. - * - * This function returns the named PPD file from the server. The - * list of available PPDs is provided by the IPP @code CUPS_GET_PPDS@ - * operation. - * - * You must remove (unlink) the PPD file when you are finished with - * it. The PPD filename is stored in a static location that will be - * overwritten on the next call to @link cupsGetPPD@, @link cupsGetPPD2@, - * or @link cupsGetServerPPD@. - * - * @since CUPS 1.3/OS X 10.5@ - */ - -char * /* O - Name of PPD file or @code NULL@ on error */ -cupsGetServerPPD(http_t *http, /* I - Connection to server or @code CUPS_HTTP_DEFAULT@ */ - const char *name) /* I - Name of PPD file ("ppd-name") */ -{ - int fd; /* PPD file descriptor */ - ipp_t *request; /* IPP request */ - _cups_globals_t *cg = _cupsGlobals(); - /* Pointer to library globals */ - - - /* - * Range check input... - */ - - if (!name) - { - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("No PPD name"), 1); - - return (NULL); - } - - if (!http) - if ((http = _cupsConnect()) == NULL) - return (NULL); - - /* - * Get a temp file... - */ - - if ((fd = cupsTempFd(cg->ppd_filename, sizeof(cg->ppd_filename))) < 0) - { - /* - * Can't open file; close the server connection and return NULL... - */ - - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, NULL, 0); - - return (NULL); - } - - /* - * Get the PPD file... - */ - - request = ippNewRequest(IPP_OP_CUPS_GET_PPD); - ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "ppd-name", NULL, - name); - - ippDelete(cupsDoIORequest(http, request, "/", -1, fd)); - - close(fd); - - if (cupsLastError() != IPP_STATUS_OK) - { - unlink(cg->ppd_filename); - return (NULL); - } - else - return (cg->ppd_filename); -} - - /* * 'cupsPrintFile()' - Print a file to a printer or class on the default server. */ @@ -1431,228 +965,6 @@ cupsStartDocument( } -/* - * 'cups_get_printer_uri()' - Get the printer-uri-supported attribute for the - * first printer in a class. - */ - -static int /* O - 1 on success, 0 on failure */ -cups_get_printer_uri( - http_t *http, /* I - Connection to server */ - const char *name, /* I - Name of printer or class */ - char *host, /* I - Hostname buffer */ - int hostsize, /* I - Size of hostname buffer */ - int *port, /* O - Port number */ - char *resource, /* I - Resource buffer */ - int resourcesize, /* I - Size of resource buffer */ - int depth) /* I - Depth of query */ -{ - int i; /* Looping var */ - int http_port; /* Port number */ - http_t *http2; /* Alternate HTTP connection */ - ipp_t *request, /* IPP request */ - *response; /* IPP response */ - ipp_attribute_t *attr; /* Current attribute */ - char uri[HTTP_MAX_URI], /* printer-uri attribute */ - scheme[HTTP_MAX_URI], /* Scheme name */ - username[HTTP_MAX_URI], /* Username:password */ - classname[255], /* Temporary class name */ - http_hostname[HTTP_MAX_HOST]; - /* Hostname associated with connection */ - static const char * const requested_attrs[] = - { /* Requested attributes */ - "device-uri", - "member-uris", - "printer-uri-supported", - "printer-type" - }; - - - DEBUG_printf(("4cups_get_printer_uri(http=%p, name=\"%s\", host=%p, hostsize=%d, resource=%p, resourcesize=%d, depth=%d)", http, name, host, hostsize, resource, resourcesize, depth)); - - /* - * Setup the printer URI... - */ - - if (httpAssembleURIf(HTTP_URI_CODING_ALL, uri, sizeof(uri), "ipp", NULL, "localhost", 0, "/printers/%s", name) < HTTP_URI_STATUS_OK) - { - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("Unable to create printer-uri"), 1); - - *host = '\0'; - *resource = '\0'; - - return (0); - } - - DEBUG_printf(("5cups_get_printer_uri: printer-uri=\"%s\"", uri)); - - /* - * Get the hostname and port number we are connected to... - */ - - httpGetHostname(http, http_hostname, sizeof(http_hostname)); - http_port = httpAddrPort(http->hostaddr); - - DEBUG_printf(("5cups_get_printer_uri: http_hostname=\"%s\"", http_hostname)); - - /* - * Build an IPP_GET_PRINTER_ATTRIBUTES request, which requires the following - * attributes: - * - * attributes-charset - * attributes-natural-language - * printer-uri - * requested-attributes - */ - - request = ippNewRequest(IPP_OP_GET_PRINTER_ATTRIBUTES); - - ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL, uri); - - ippAddStrings(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD, "requested-attributes", sizeof(requested_attrs) / sizeof(requested_attrs[0]), NULL, requested_attrs); - - /* - * Do the request and get back a response... - */ - - snprintf(resource, (size_t)resourcesize, "/printers/%s", name); - - if ((response = cupsDoRequest(http, request, resource)) != NULL) - { - const char *device_uri = NULL; /* device-uri value */ - - if ((attr = ippFindAttribute(response, "device-uri", IPP_TAG_URI)) != NULL) - { - device_uri = attr->values[0].string.text; - DEBUG_printf(("5cups_get_printer_uri: device-uri=\"%s\"", device_uri)); - } - - if (device_uri && - (((!strncmp(device_uri, "ipp://", 6) || !strncmp(device_uri, "ipps://", 7)) && - (strstr(device_uri, "/printers/") != NULL || strstr(device_uri, "/classes/") != NULL)) || - ((strstr(device_uri, "._ipp.") != NULL || strstr(device_uri, "._ipps.") != NULL) && - !strcmp(device_uri + strlen(device_uri) - 5, "/cups")))) - { - /* - * Statically-configured shared printer. - */ - - httpSeparateURI(HTTP_URI_CODING_ALL, _httpResolveURI(device_uri, uri, sizeof(uri), _HTTP_RESOLVE_DEFAULT, NULL, NULL), scheme, sizeof(scheme), username, sizeof(username), host, hostsize, port, resource, resourcesize); - ippDelete(response); - - DEBUG_printf(("5cups_get_printer_uri: Resolved to host=\"%s\", port=%d, resource=\"%s\"", host, *port, resource)); - return (1); - } - else if ((attr = ippFindAttribute(response, "member-uris", IPP_TAG_URI)) != NULL) - { - /* - * Get the first actual printer name in the class... - */ - - DEBUG_printf(("5cups_get_printer_uri: Got member-uris with %d values.", ippGetCount(attr))); - - for (i = 0; i < attr->num_values; i ++) - { - DEBUG_printf(("5cups_get_printer_uri: member-uris[%d]=\"%s\"", i, ippGetString(attr, i, NULL))); - - httpSeparateURI(HTTP_URI_CODING_ALL, attr->values[i].string.text, scheme, sizeof(scheme), username, sizeof(username), host, hostsize, port, resource, resourcesize); - if (!strncmp(resource, "/printers/", 10)) - { - /* - * Found a printer! - */ - - ippDelete(response); - - DEBUG_printf(("5cups_get_printer_uri: Found printer member with host=\"%s\", port=%d, resource=\"%s\"", host, *port, resource)); - return (1); - } - } - - /* - * No printers in this class - try recursively looking for a printer, - * but not more than 3 levels deep... - */ - - if (depth < 3) - { - for (i = 0; i < attr->num_values; i ++) - { - httpSeparateURI(HTTP_URI_CODING_ALL, attr->values[i].string.text, - scheme, sizeof(scheme), username, sizeof(username), - host, hostsize, port, resource, resourcesize); - if (!strncmp(resource, "/classes/", 9)) - { - /* - * Found a class! Connect to the right server... - */ - - if (!_cups_strcasecmp(http_hostname, host) && *port == http_port) - http2 = http; - else if ((http2 = httpConnect2(host, *port, NULL, AF_UNSPEC, cupsEncryption(), 1, 30000, NULL)) == NULL) - { - DEBUG_puts("8cups_get_printer_uri: Unable to connect to server"); - - continue; - } - - /* - * Look up printers on that server... - */ - - strlcpy(classname, resource + 9, sizeof(classname)); - - cups_get_printer_uri(http2, classname, host, hostsize, port, - resource, resourcesize, depth + 1); - - /* - * Close the connection as needed... - */ - - if (http2 != http) - httpClose(http2); - - if (*host) - return (1); - } - } - } - } - else if ((attr = ippFindAttribute(response, "printer-uri-supported", IPP_TAG_URI)) != NULL) - { - httpSeparateURI(HTTP_URI_CODING_ALL, _httpResolveURI(attr->values[0].string.text, uri, sizeof(uri), _HTTP_RESOLVE_DEFAULT, NULL, NULL), scheme, sizeof(scheme), username, sizeof(username), host, hostsize, port, resource, resourcesize); - ippDelete(response); - - DEBUG_printf(("5cups_get_printer_uri: Resolved to host=\"%s\", port=%d, resource=\"%s\"", host, *port, resource)); - - if (!strncmp(resource, "/classes/", 9)) - { - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("No printer-uri found for class"), 1); - - *host = '\0'; - *resource = '\0'; - - DEBUG_puts("5cups_get_printer_uri: Not returning class."); - return (0); - } - - return (1); - } - - ippDelete(response); - } - - if (cupsLastError() != IPP_STATUS_ERROR_NOT_FOUND) - _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("No printer-uri found"), 1); - - *host = '\0'; - *resource = '\0'; - - DEBUG_puts("5cups_get_printer_uri: Printer URI not found."); - return (0); -} - - /* * End of "$Id$". */ diff --git a/filter/Dependencies b/filter/Dependencies index 3087485a7..bacd5646f 100644 --- a/filter/Dependencies +++ b/filter/Dependencies @@ -18,15 +18,15 @@ commandtops.o: commandtops.c ../cups/cups-private.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/sidechannel.h + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/ppd.h ../cups/sidechannel.h gziptoany.o: gziptoany.c ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/versioning.h \ ../cups/array-private.h ../cups/array.h ../cups/ipp-private.h \ ../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h + ../cups/thread-private.h common.o: common.c common.h ../cups/string-private.h ../config.h \ ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h \ ../cups/http.h ../cups/array.h ../cups/language.h ../cups/pwg.h \ @@ -59,8 +59,8 @@ rastertopwg.o: rastertopwg.c ../cups/cups-private.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/raster.h + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/ppd-private.h ../cups/ppd.h ../cups/raster.h testraster.o: testraster.c ../cups/raster-private.h ../cups/raster.h \ ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h \ ../cups/http.h ../cups/array.h ../cups/language.h ../cups/pwg.h \ diff --git a/filter/rastertopwg.c b/filter/rastertopwg.c index e4fe25b32..7e17f5331 100644 --- a/filter/rastertopwg.c +++ b/filter/rastertopwg.c @@ -19,6 +19,7 @@ */ #include +#include #include #include #include diff --git a/locale/Dependencies b/locale/Dependencies index 29e13cec6..0aa4636c2 100644 --- a/locale/Dependencies +++ b/locale/Dependencies @@ -4,13 +4,12 @@ checkpo.o: checkpo.c ../cups/cups-private.h ../cups/string-private.h \ ../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h + ../cups/thread-private.h po2strings.o: po2strings.c ../cups/cups-private.h \ ../cups/string-private.h ../config.h ../cups/debug-private.h \ ../cups/versioning.h ../cups/array-private.h ../cups/array.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h strings2po.o: strings2po.c diff --git a/monitor/Dependencies b/monitor/Dependencies index 10a252aaa..acc2157cb 100644 --- a/monitor/Dependencies +++ b/monitor/Dependencies @@ -3,12 +3,12 @@ bcp.o: bcp.c ../cups/cups-private.h ../cups/string-private.h ../config.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/ppd.h tbcp.o: tbcp.c ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/versioning.h \ ../cups/array-private.h ../cups/array.h ../cups/ipp-private.h \ ../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h + ../cups/thread-private.h ../cups/ppd.h diff --git a/notifier/Dependencies b/notifier/Dependencies index d844f9de4..a6bc42186 100644 --- a/notifier/Dependencies +++ b/notifier/Dependencies @@ -7,7 +7,7 @@ mailto.o: mailto.c ../cups/cups-private.h ../cups/string-private.h \ ../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h + ../cups/thread-private.h rss.o: rss.c ../cups/cups.h ../cups/file.h ../cups/versioning.h \ ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \ ../cups/pwg.h ../cups/string-private.h ../config.h \ @@ -18,5 +18,4 @@ testnotify.o: testnotify.c ../cups/cups-private.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h diff --git a/ppdc/Dependencies b/ppdc/Dependencies index 9feb96757..c08ea5562 100644 --- a/ppdc/Dependencies +++ b/ppdc/Dependencies @@ -4,32 +4,28 @@ ppdc-array.o: ppdc-array.cxx ppdc-private.h ppdc.h ../cups/file.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/pwg.h ../cups/ppd-private.h ../cups/ppd.h \ - ../cups/thread-private.h + ../cups/cups.h ../cups/pwg.h ../cups/thread-private.h ppdc-attr.o: ppdc-attr.cxx ppdc-private.h ppdc.h ../cups/file.h \ ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/array-private.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/pwg.h ../cups/ppd-private.h ../cups/ppd.h \ - ../cups/thread-private.h + ../cups/cups.h ../cups/pwg.h ../cups/thread-private.h ppdc-catalog.o: ppdc-catalog.cxx ppdc-private.h ppdc.h ../cups/file.h \ ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/array-private.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/pwg.h ../cups/ppd-private.h ../cups/ppd.h \ - ../cups/thread-private.h + ../cups/cups.h ../cups/pwg.h ../cups/thread-private.h ppdc-choice.o: ppdc-choice.cxx ppdc-private.h ppdc.h ../cups/file.h \ ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/array-private.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/pwg.h ../cups/ppd-private.h ../cups/ppd.h \ - ../cups/thread-private.h + ../cups/cups.h ../cups/pwg.h ../cups/thread-private.h ppdc-constraint.o: ppdc-constraint.cxx ppdc-private.h ppdc.h \ ../cups/file.h ../cups/versioning.h ../cups/cups-private.h \ ../cups/string-private.h ../config.h ../cups/debug-private.h \ @@ -37,172 +33,152 @@ ppdc-constraint.o: ppdc-constraint.cxx ppdc-private.h ppdc.h \ ../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h + ../cups/thread-private.h ppdc-driver.o: ppdc-driver.cxx ppdc-private.h ppdc.h ../cups/file.h \ ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/array-private.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/pwg.h ../cups/ppd-private.h ../cups/ppd.h \ - ../cups/thread-private.h + ../cups/cups.h ../cups/pwg.h ../cups/thread-private.h ppdc-file.o: ppdc-file.cxx ppdc-private.h ppdc.h ../cups/file.h \ ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/array-private.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/pwg.h ../cups/ppd-private.h ../cups/ppd.h \ - ../cups/thread-private.h + ../cups/cups.h ../cups/pwg.h ../cups/thread-private.h ppdc-filter.o: ppdc-filter.cxx ppdc-private.h ppdc.h ../cups/file.h \ ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/array-private.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/pwg.h ../cups/ppd-private.h ../cups/ppd.h \ - ../cups/thread-private.h + ../cups/cups.h ../cups/pwg.h ../cups/thread-private.h ppdc-font.o: ppdc-font.cxx ppdc-private.h ppdc.h ../cups/file.h \ ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/array-private.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/pwg.h ../cups/ppd-private.h ../cups/ppd.h \ - ../cups/thread-private.h + ../cups/cups.h ../cups/pwg.h ../cups/thread-private.h ppdc-group.o: ppdc-group.cxx ppdc-private.h ppdc.h ../cups/file.h \ ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/array-private.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/pwg.h ../cups/ppd-private.h ../cups/ppd.h \ - ../cups/thread-private.h + ../cups/cups.h ../cups/pwg.h ../cups/thread-private.h ppdc-import.o: ppdc-import.cxx ppdc-private.h ppdc.h ../cups/file.h \ ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/array-private.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/pwg.h ../cups/ppd-private.h ../cups/ppd.h \ - ../cups/thread-private.h + ../cups/cups.h ../cups/pwg.h ../cups/thread-private.h ../cups/ppd.h ppdc-mediasize.o: ppdc-mediasize.cxx ppdc-private.h ppdc.h ../cups/file.h \ ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/array-private.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/pwg.h ../cups/ppd-private.h ../cups/ppd.h \ - ../cups/thread-private.h + ../cups/cups.h ../cups/pwg.h ../cups/thread-private.h ppdc-message.o: ppdc-message.cxx ppdc-private.h ppdc.h ../cups/file.h \ ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/array-private.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/pwg.h ../cups/ppd-private.h ../cups/ppd.h \ - ../cups/thread-private.h + ../cups/cups.h ../cups/pwg.h ../cups/thread-private.h ppdc-option.o: ppdc-option.cxx ppdc-private.h ppdc.h ../cups/file.h \ ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/array-private.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/pwg.h ../cups/ppd-private.h ../cups/ppd.h \ - ../cups/thread-private.h + ../cups/cups.h ../cups/pwg.h ../cups/thread-private.h ppdc-profile.o: ppdc-profile.cxx ppdc-private.h ppdc.h ../cups/file.h \ ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/array-private.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/pwg.h ../cups/ppd-private.h ../cups/ppd.h \ - ../cups/thread-private.h + ../cups/cups.h ../cups/pwg.h ../cups/thread-private.h ppdc-shared.o: ppdc-shared.cxx ppdc-private.h ppdc.h ../cups/file.h \ ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/array-private.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/pwg.h ../cups/ppd-private.h ../cups/ppd.h \ - ../cups/thread-private.h + ../cups/cups.h ../cups/pwg.h ../cups/thread-private.h ppdc-source.o: ppdc-source.cxx ppdc-private.h ppdc.h ../cups/file.h \ ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/array-private.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/pwg.h ../cups/ppd-private.h ../cups/ppd.h \ - ../cups/thread-private.h ../cups/raster.h ../data/epson.h ../data/hp.h \ - ../data/label.h + ../cups/cups.h ../cups/pwg.h ../cups/thread-private.h ../cups/raster.h \ + ../cups/ppd.h ../data/epson.h ../data/hp.h ../data/label.h ppdc-string.o: ppdc-string.cxx ppdc-private.h ppdc.h ../cups/file.h \ ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/array-private.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/pwg.h ../cups/ppd-private.h ../cups/ppd.h \ - ../cups/thread-private.h + ../cups/cups.h ../cups/pwg.h ../cups/thread-private.h ppdc-variable.o: ppdc-variable.cxx ppdc-private.h ppdc.h ../cups/file.h \ ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/array-private.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/pwg.h ../cups/ppd-private.h ../cups/ppd.h \ - ../cups/thread-private.h + ../cups/cups.h ../cups/pwg.h ../cups/thread-private.h genstrings.o: genstrings.cxx ppdc-private.h ppdc.h ../cups/file.h \ ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/array-private.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/pwg.h ../cups/ppd-private.h ../cups/ppd.h \ - ../cups/thread-private.h + ../cups/cups.h ../cups/pwg.h ../cups/thread-private.h ppdc.o: ppdc.cxx ppdc-private.h ppdc.h ../cups/file.h \ ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/array-private.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/pwg.h ../cups/ppd-private.h ../cups/ppd.h \ - ../cups/thread-private.h + ../cups/cups.h ../cups/pwg.h ../cups/thread-private.h ppdhtml.o: ppdhtml.cxx ppdc-private.h ppdc.h ../cups/file.h \ ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/array-private.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/pwg.h ../cups/ppd-private.h ../cups/ppd.h \ - ../cups/thread-private.h + ../cups/cups.h ../cups/pwg.h ../cups/thread-private.h ppdi.o: ppdi.cxx ppdc-private.h ppdc.h ../cups/file.h \ ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/array-private.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/pwg.h ../cups/ppd-private.h ../cups/ppd.h \ - ../cups/thread-private.h + ../cups/cups.h ../cups/pwg.h ../cups/thread-private.h ppdmerge.o: ppdmerge.cxx ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/versioning.h \ ../cups/array-private.h ../cups/array.h ../cups/ipp-private.h \ ../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h + ../cups/thread-private.h ../cups/ppd-private.h ../cups/ppd.h ppdpo.o: ppdpo.cxx ppdc-private.h ppdc.h ../cups/file.h \ ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/array-private.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/pwg.h ../cups/ppd-private.h ../cups/ppd.h \ - ../cups/thread-private.h + ../cups/cups.h ../cups/pwg.h ../cups/thread-private.h testcatalog.o: testcatalog.cxx ppdc-private.h ppdc.h ../cups/file.h \ ../cups/versioning.h ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/array-private.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/pwg.h ../cups/ppd-private.h ../cups/ppd.h \ - ../cups/thread-private.h + ../cups/cups.h ../cups/pwg.h ../cups/thread-private.h diff --git a/scheduler/Dependencies b/scheduler/Dependencies index e61c28800..fac4b488a 100644 --- a/scheduler/Dependencies +++ b/scheduler/Dependencies @@ -4,18 +4,18 @@ auth.o: auth.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \ ../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \ - ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \ - client.h policy.h printers.h classes.h job.h colorman.h conf.h \ - banners.h dirsvc.h network.h subscriptions.h + ../cups/thread-private.h ../cups/file-private.h ../cups/ppd-private.h \ + ../cups/ppd.h mime.h sysman.h statbuf.h cert.h auth.h client.h \ + policy.h printers.h classes.h job.h colorman.h conf.h banners.h \ + dirsvc.h network.h subscriptions.h banners.o: banners.c cupsd.h ../cups/cups-private.h \ ../cups/string-private.h ../config.h ../cups/debug-private.h \ ../cups/versioning.h ../cups/array-private.h ../cups/array.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/file-private.h mime.h \ + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/file-private.h ../cups/ppd-private.h ../cups/ppd.h mime.h \ sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \ classes.h job.h colorman.h conf.h banners.h dirsvc.h network.h \ subscriptions.h ../cups/dir.h @@ -25,18 +25,18 @@ cert.o: cert.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \ ../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \ - ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \ - client.h policy.h printers.h classes.h job.h colorman.h conf.h \ - banners.h dirsvc.h network.h subscriptions.h + ../cups/thread-private.h ../cups/file-private.h ../cups/ppd-private.h \ + ../cups/ppd.h mime.h sysman.h statbuf.h cert.h auth.h client.h \ + policy.h printers.h classes.h job.h colorman.h conf.h banners.h \ + dirsvc.h network.h subscriptions.h classes.o: classes.c cupsd.h ../cups/cups-private.h \ ../cups/string-private.h ../config.h ../cups/debug-private.h \ ../cups/versioning.h ../cups/array-private.h ../cups/array.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/file-private.h mime.h \ + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/file-private.h ../cups/ppd-private.h ../cups/ppd.h mime.h \ sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \ classes.h job.h colorman.h conf.h banners.h dirsvc.h network.h \ subscriptions.h @@ -46,8 +46,8 @@ client.o: client.c cupsd.h ../cups/cups-private.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/file-private.h mime.h \ + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/file-private.h ../cups/ppd-private.h ../cups/ppd.h mime.h \ sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \ classes.h job.h colorman.h conf.h banners.h dirsvc.h network.h \ subscriptions.h @@ -57,8 +57,8 @@ colorman.o: colorman.c cupsd.h ../cups/cups-private.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/file-private.h mime.h \ + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/file-private.h ../cups/ppd-private.h ../cups/ppd.h mime.h \ sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \ classes.h job.h colorman.h conf.h banners.h dirsvc.h network.h \ subscriptions.h @@ -68,18 +68,18 @@ conf.o: conf.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \ ../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \ - ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \ - client.h policy.h printers.h classes.h job.h colorman.h conf.h \ - banners.h dirsvc.h network.h subscriptions.h + ../cups/thread-private.h ../cups/file-private.h ../cups/ppd-private.h \ + ../cups/ppd.h mime.h sysman.h statbuf.h cert.h auth.h client.h \ + policy.h printers.h classes.h job.h colorman.h conf.h banners.h \ + dirsvc.h network.h subscriptions.h dirsvc.o: dirsvc.c cupsd.h ../cups/cups-private.h \ ../cups/string-private.h ../config.h ../cups/debug-private.h \ ../cups/versioning.h ../cups/array-private.h ../cups/array.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/file-private.h mime.h \ + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/file-private.h ../cups/ppd-private.h ../cups/ppd.h mime.h \ sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \ classes.h job.h colorman.h conf.h banners.h dirsvc.h network.h \ subscriptions.h @@ -89,48 +89,48 @@ env.o: env.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \ ../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \ - ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \ - client.h policy.h printers.h classes.h job.h colorman.h conf.h \ - banners.h dirsvc.h network.h subscriptions.h + ../cups/thread-private.h ../cups/file-private.h ../cups/ppd-private.h \ + ../cups/ppd.h mime.h sysman.h statbuf.h cert.h auth.h client.h \ + policy.h printers.h classes.h job.h colorman.h conf.h banners.h \ + dirsvc.h network.h subscriptions.h file.o: file.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/versioning.h \ ../cups/array-private.h ../cups/array.h ../cups/ipp-private.h \ ../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \ - ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \ - client.h policy.h printers.h classes.h job.h colorman.h conf.h \ - banners.h dirsvc.h network.h subscriptions.h ../cups/dir.h + ../cups/thread-private.h ../cups/file-private.h ../cups/ppd-private.h \ + ../cups/ppd.h mime.h sysman.h statbuf.h cert.h auth.h client.h \ + policy.h printers.h classes.h job.h colorman.h conf.h banners.h \ + dirsvc.h network.h subscriptions.h ../cups/dir.h main.o: main.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/versioning.h \ ../cups/array-private.h ../cups/array.h ../cups/ipp-private.h \ ../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \ - ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \ - client.h policy.h printers.h classes.h job.h colorman.h conf.h \ - banners.h dirsvc.h network.h subscriptions.h + ../cups/thread-private.h ../cups/file-private.h ../cups/ppd-private.h \ + ../cups/ppd.h mime.h sysman.h statbuf.h cert.h auth.h client.h \ + policy.h printers.h classes.h job.h colorman.h conf.h banners.h \ + dirsvc.h network.h subscriptions.h ipp.o: ipp.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/versioning.h \ ../cups/array-private.h ../cups/array.h ../cups/ipp-private.h \ ../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \ - ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \ - client.h policy.h printers.h classes.h job.h colorman.h conf.h \ - banners.h dirsvc.h network.h subscriptions.h + ../cups/thread-private.h ../cups/file-private.h ../cups/ppd-private.h \ + ../cups/ppd.h mime.h sysman.h statbuf.h cert.h auth.h client.h \ + policy.h printers.h classes.h job.h colorman.h conf.h banners.h \ + dirsvc.h network.h subscriptions.h listen.o: listen.c cupsd.h ../cups/cups-private.h \ ../cups/string-private.h ../config.h ../cups/debug-private.h \ ../cups/versioning.h ../cups/array-private.h ../cups/array.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/file-private.h mime.h \ + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/file-private.h ../cups/ppd-private.h ../cups/ppd.h mime.h \ sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \ classes.h job.h colorman.h conf.h banners.h dirsvc.h network.h \ subscriptions.h @@ -140,29 +140,28 @@ job.o: job.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \ ../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \ - ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \ - client.h policy.h printers.h classes.h job.h colorman.h conf.h \ - banners.h dirsvc.h network.h subscriptions.h ../cups/backend.h \ - ../cups/dir.h + ../cups/thread-private.h ../cups/file-private.h ../cups/ppd-private.h \ + ../cups/ppd.h mime.h sysman.h statbuf.h cert.h auth.h client.h \ + policy.h printers.h classes.h job.h colorman.h conf.h banners.h \ + dirsvc.h network.h subscriptions.h ../cups/backend.h ../cups/dir.h log.o: log.c cupsd.h ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/versioning.h \ ../cups/array-private.h ../cups/array.h ../cups/ipp-private.h \ ../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \ - ../cups/file-private.h mime.h sysman.h statbuf.h cert.h auth.h \ - client.h policy.h printers.h classes.h job.h colorman.h conf.h \ - banners.h dirsvc.h network.h subscriptions.h + ../cups/thread-private.h ../cups/file-private.h ../cups/ppd-private.h \ + ../cups/ppd.h mime.h sysman.h statbuf.h cert.h auth.h client.h \ + policy.h printers.h classes.h job.h colorman.h conf.h banners.h \ + dirsvc.h network.h subscriptions.h network.o: network.c ../cups/http-private.h ../config.h \ ../cups/language.h ../cups/array.h ../cups/versioning.h ../cups/http.h \ ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h cupsd.h \ ../cups/cups-private.h ../cups/string-private.h \ ../cups/debug-private.h ../cups/array-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/file-private.h mime.h \ + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/file-private.h ../cups/ppd-private.h ../cups/ppd.h mime.h \ sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \ classes.h job.h colorman.h conf.h banners.h dirsvc.h network.h \ subscriptions.h @@ -172,8 +171,8 @@ policy.o: policy.c cupsd.h ../cups/cups-private.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/file-private.h mime.h \ + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/file-private.h ../cups/ppd-private.h ../cups/ppd.h mime.h \ sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \ classes.h job.h colorman.h conf.h banners.h dirsvc.h network.h \ subscriptions.h @@ -183,8 +182,8 @@ printers.o: printers.c cupsd.h ../cups/cups-private.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/file-private.h mime.h \ + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/file-private.h ../cups/ppd-private.h ../cups/ppd.h mime.h \ sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \ classes.h job.h colorman.h conf.h banners.h dirsvc.h network.h \ subscriptions.h ../cups/dir.h @@ -194,8 +193,8 @@ process.o: process.c cupsd.h ../cups/cups-private.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/file-private.h mime.h \ + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/file-private.h ../cups/ppd-private.h ../cups/ppd.h mime.h \ sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \ classes.h job.h colorman.h conf.h banners.h dirsvc.h network.h \ subscriptions.h @@ -205,8 +204,8 @@ quotas.o: quotas.c cupsd.h ../cups/cups-private.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/file-private.h mime.h \ + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/file-private.h ../cups/ppd-private.h ../cups/ppd.h mime.h \ sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \ classes.h job.h colorman.h conf.h banners.h dirsvc.h network.h \ subscriptions.h @@ -216,8 +215,8 @@ select.o: select.c cupsd.h ../cups/cups-private.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/file-private.h mime.h \ + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/file-private.h ../cups/ppd-private.h ../cups/ppd.h mime.h \ sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \ classes.h job.h colorman.h conf.h banners.h dirsvc.h network.h \ subscriptions.h @@ -227,8 +226,8 @@ server.o: server.c ../cups/http-private.h ../config.h ../cups/language.h \ ../cups/cups-private.h ../cups/string-private.h \ ../cups/debug-private.h ../cups/array-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/file-private.h mime.h \ + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/file-private.h ../cups/ppd-private.h ../cups/ppd.h mime.h \ sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \ classes.h job.h colorman.h conf.h banners.h dirsvc.h network.h \ subscriptions.h @@ -238,8 +237,8 @@ statbuf.o: statbuf.c cupsd.h ../cups/cups-private.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/file-private.h mime.h \ + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/file-private.h ../cups/ppd-private.h ../cups/ppd.h mime.h \ sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \ classes.h job.h colorman.h conf.h banners.h dirsvc.h network.h \ subscriptions.h @@ -249,8 +248,8 @@ subscriptions.o: subscriptions.c cupsd.h ../cups/cups-private.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/file-private.h mime.h \ + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/file-private.h ../cups/ppd-private.h ../cups/ppd.h mime.h \ sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \ classes.h job.h colorman.h conf.h banners.h dirsvc.h network.h \ subscriptions.h @@ -260,8 +259,8 @@ sysman.o: sysman.c cupsd.h ../cups/cups-private.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/file-private.h mime.h \ + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/file-private.h ../cups/ppd-private.h ../cups/ppd.h mime.h \ sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h \ classes.h job.h colorman.h conf.h banners.h dirsvc.h network.h \ subscriptions.h @@ -281,8 +280,8 @@ cupsfilter.o: cupsfilter.c ../cups/cups-private.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/file-private.h mime.h + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/file-private.h ../cups/ppd-private.h ../cups/ppd.h mime.h cups-deviced.o: cups-deviced.c util.h ../cups/array-private.h \ ../cups/array.h ../cups/versioning.h ../cups/file-private.h \ ../cups/cups-private.h ../cups/string-private.h ../config.h \ @@ -290,8 +289,7 @@ cups-deviced.o: cups-deviced.c util.h ../cups/array-private.h \ ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \ - ../cups/dir.h + ../cups/thread-private.h ../cups/dir.h cups-exec.o: cups-exec.c ../cups/string-private.h ../config.h \ ../cups/file.h ../cups/versioning.h cups-lpd.o: cups-lpd.c ../cups/cups-private.h ../cups/string-private.h \ @@ -300,7 +298,7 @@ cups-lpd.o: cups-lpd.c ../cups/cups-private.h ../cups/string-private.h \ ../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h + ../cups/thread-private.h testlpd.o: testlpd.c ../cups/cups.h ../cups/file.h ../cups/versioning.h \ ../cups/ipp.h ../cups/http.h ../cups/array.h ../cups/language.h \ ../cups/pwg.h ../cups/string-private.h ../config.h @@ -323,8 +321,7 @@ util.o: util.c util.h ../cups/array-private.h ../cups/array.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h cups-driverd.o: cups-driverd.cxx util.h ../cups/array-private.h \ ../cups/array.h ../cups/versioning.h ../cups/file-private.h \ ../cups/cups-private.h ../cups/string-private.h ../config.h \ @@ -332,5 +329,5 @@ cups-driverd.o: cups-driverd.cxx util.h ../cups/array-private.h \ ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \ - ../cups/dir.h ../ppdc/ppdc.h + ../cups/thread-private.h ../cups/dir.h ../cups/ppd-private.h \ + ../cups/ppd.h ../ppdc/ppdc.h diff --git a/scheduler/cupsd.h b/scheduler/cupsd.h index 3885305a7..2d8247f69 100644 --- a/scheduler/cupsd.h +++ b/scheduler/cupsd.h @@ -20,6 +20,7 @@ #include #include +#include #include #include diff --git a/systemv/Dependencies b/systemv/Dependencies index effbf99f0..585e9c6d3 100644 --- a/systemv/Dependencies +++ b/systemv/Dependencies @@ -4,86 +4,82 @@ cancel.o: cancel.c ../cups/cups-private.h ../cups/string-private.h \ ../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h + ../cups/thread-private.h cupsaccept.o: cupsaccept.c ../cups/cups-private.h \ ../cups/string-private.h ../config.h ../cups/debug-private.h \ ../cups/versioning.h ../cups/array-private.h ../cups/array.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h cupsaddsmb.o: cupsaddsmb.c ../cups/cups-private.h \ ../cups/string-private.h ../config.h ../cups/debug-private.h \ ../cups/versioning.h ../cups/array-private.h ../cups/array.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/adminutil.h + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/adminutil.h cupsctl.o: cupsctl.c ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/versioning.h \ ../cups/array-private.h ../cups/array.h ../cups/ipp-private.h \ ../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \ - ../cups/adminutil.h + ../cups/thread-private.h ../cups/adminutil.h cupstestdsc.o: cupstestdsc.c ../cups/cups-private.h \ ../cups/string-private.h ../config.h ../cups/debug-private.h \ ../cups/versioning.h ../cups/array-private.h ../cups/array.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h cupstestppd.o: cupstestppd.c ../cups/cups-private.h \ ../cups/string-private.h ../config.h ../cups/debug-private.h \ ../cups/versioning.h ../cups/array-private.h ../cups/array.h \ ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h ../cups/dir.h ../cups/raster.h + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h \ + ../cups/dir.h ../cups/ppd-private.h ../cups/ppd.h ../cups/raster.h lp.o: lp.c ../cups/cups-private.h ../cups/string-private.h ../config.h \ ../cups/debug-private.h ../cups/versioning.h ../cups/array-private.h \ ../cups/array.h ../cups/ipp-private.h ../cups/ipp.h ../cups/http.h \ ../cups/http-private.h ../cups/language.h ../cups/md5-private.h \ ../cups/language-private.h ../cups/transcode.h ../cups/pwg-private.h \ - ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/ppd-private.h \ - ../cups/ppd.h ../cups/thread-private.h + ../cups/cups.h ../cups/file.h ../cups/pwg.h ../cups/thread-private.h lpadmin.o: lpadmin.c ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/versioning.h \ ../cups/array-private.h ../cups/array.h ../cups/ipp-private.h \ ../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h + ../cups/thread-private.h ../cups/ppd-private.h ../cups/ppd.h lpinfo.o: lpinfo.c ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/versioning.h \ ../cups/array-private.h ../cups/array.h ../cups/ipp-private.h \ ../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h + ../cups/thread-private.h lpmove.o: lpmove.c ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/versioning.h \ ../cups/array-private.h ../cups/array.h ../cups/ipp-private.h \ ../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h + ../cups/thread-private.h lpoptions.o: lpoptions.c ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/versioning.h \ ../cups/array-private.h ../cups/array.h ../cups/ipp-private.h \ ../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h + ../cups/thread-private.h ../cups/ppd-private.h ../cups/ppd.h lpstat.o: lpstat.c ../cups/cups-private.h ../cups/string-private.h \ ../config.h ../cups/debug-private.h ../cups/versioning.h \ ../cups/array-private.h ../cups/array.h ../cups/ipp-private.h \ ../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h + ../cups/thread-private.h diff --git a/systemv/lpadmin.c b/systemv/lpadmin.c index eb7ce0fb2..cff71b695 100644 --- a/systemv/lpadmin.c +++ b/systemv/lpadmin.c @@ -20,6 +20,7 @@ #define _CUPS_NO_DEPRECATED #define _PPD_DEPRECATED #include +#include /* diff --git a/systemv/lpoptions.c b/systemv/lpoptions.c index 36d989986..df7c2d63d 100644 --- a/systemv/lpoptions.c +++ b/systemv/lpoptions.c @@ -3,7 +3,7 @@ * * Printer option program for CUPS. * - * Copyright 2007-2014 by Apple Inc. + * Copyright 2007-2015 by Apple Inc. * Copyright 1997-2006 by Easy Software Products. * * These coded instructions, statements, and computer programs are the @@ -18,6 +18,7 @@ */ #include +#include /* diff --git a/test/Dependencies b/test/Dependencies index e2822d073..322301a94 100644 --- a/test/Dependencies +++ b/test/Dependencies @@ -4,7 +4,7 @@ ippfind.o: ippfind.c ../cups/cups-private.h ../cups/string-private.h \ ../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h + ../cups/thread-private.h ippinfra.o: ippinfra.c ../config.h ../cups/cups.h ../cups/file.h \ ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \ ../cups/language.h ../cups/pwg.h ../cups/string-private.h \ @@ -22,8 +22,7 @@ ipptool.o: ipptool.c ../cups/cups-private.h ../cups/string-private.h \ ../cups/ipp.h ../cups/http.h ../cups/http-private.h ../cups/language.h \ ../cups/md5-private.h ../cups/language-private.h ../cups/transcode.h \ ../cups/pwg-private.h ../cups/cups.h ../cups/file.h ../cups/pwg.h \ - ../cups/ppd-private.h ../cups/ppd.h ../cups/thread-private.h \ - ../cups/file-private.h + ../cups/thread-private.h ../cups/file-private.h xmltotest.o: xmltotest.c ../config.h ../cups/cups.h ../cups/file.h \ ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h \ ../cups/language.h ../cups/pwg.h diff --git a/xcode/CUPS.xcodeproj/project.pbxproj b/xcode/CUPS.xcodeproj/project.pbxproj index 5575db341..c8c3bcfce 100644 --- a/xcode/CUPS.xcodeproj/project.pbxproj +++ b/xcode/CUPS.xcodeproj/project.pbxproj @@ -124,16 +124,16 @@ 274FF68813333B6E00317ECB /* cupsfilter.c in Sources */ = {isa = PBXBuildFile; fileRef = 274FF68713333B6E00317ECB /* cupsfilter.c */; }; 274FF68B1333B1C400317ECB /* adminutil.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EB51333052D00FCA411 /* adminutil.c */; }; 274FF68C1333B1C400317ECB /* array.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EB81333056300FCA411 /* array.c */; }; - 274FF68D1333B1C400317ECB /* attr.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EBA1333056300FCA411 /* attr.c */; }; + 274FF68D1333B1C400317ECB /* ppd-attr.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EBA1333056300FCA411 /* ppd-attr.c */; }; 274FF68E1333B1C400317ECB /* auth.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EBB1333056300FCA411 /* auth.c */; }; 274FF68F1333B1C400317ECB /* backchannel.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EBC1333056300FCA411 /* backchannel.c */; }; 274FF6901333B1C400317ECB /* backend.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EBD1333056300FCA411 /* backend.c */; }; - 274FF6911333B1C400317ECB /* conflicts.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EBF1333056300FCA411 /* conflicts.c */; }; - 274FF6921333B1C400317ECB /* custom.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EC21333056300FCA411 /* custom.c */; }; + 274FF6911333B1C400317ECB /* ppd-conflicts.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EBF1333056300FCA411 /* ppd-conflicts.c */; }; + 274FF6921333B1C400317ECB /* ppd-custom.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EC21333056300FCA411 /* ppd-custom.c */; }; 274FF6931333B1C400317ECB /* debug.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220ED1133305BB00FCA411 /* debug.c */; }; 274FF6941333B1C400317ECB /* dest.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220ED2133305BB00FCA411 /* dest.c */; }; 274FF6951333B1C400317ECB /* dir.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220ED3133305BB00FCA411 /* dir.c */; }; - 274FF6961333B1C400317ECB /* emit.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220ED5133305BB00FCA411 /* emit.c */; }; + 274FF6961333B1C400317ECB /* ppd-emit.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220ED5133305BB00FCA411 /* ppd-emit.c */; }; 274FF6971333B1C400317ECB /* encode.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220ED6133305BB00FCA411 /* encode.c */; }; 274FF6981333B1C400317ECB /* file.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220ED8133305BB00FCA411 /* file.c */; }; 274FF6991333B1C400317ECB /* getdevices.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EDA133305BB00FCA411 /* getdevices.c */; }; @@ -148,13 +148,13 @@ 274FF6A21333B1C400317ECB /* ipp.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EE6133305BB00FCA411 /* ipp.c */; }; 274FF6A31333B1C400317ECB /* langprintf.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EE8133305BB00FCA411 /* langprintf.c */; }; 274FF6A41333B1C400317ECB /* language.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EEA133305BB00FCA411 /* language.c */; }; - 274FF6A51333B1C400317ECB /* localize.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EEC133305BB00FCA411 /* localize.c */; }; - 274FF6A61333B1C400317ECB /* mark.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EED133305BB00FCA411 /* mark.c */; }; + 274FF6A51333B1C400317ECB /* ppd-localize.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EEC133305BB00FCA411 /* ppd-localize.c */; }; + 274FF6A61333B1C400317ECB /* ppd-mark.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EED133305BB00FCA411 /* ppd-mark.c */; }; 274FF6A71333B1C400317ECB /* md5.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EEF133305BB00FCA411 /* md5.c */; }; 274FF6A81333B1C400317ECB /* md5passwd.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EF0133305BB00FCA411 /* md5passwd.c */; }; 274FF6A91333B1C400317ECB /* notify.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EF1133305BB00FCA411 /* notify.c */; }; 274FF6AA1333B1C400317ECB /* options.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EF2133305BB00FCA411 /* options.c */; }; - 274FF6AB1333B1C400317ECB /* page.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EF3133305BB00FCA411 /* page.c */; }; + 274FF6AB1333B1C400317ECB /* ppd-page.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EF3133305BB00FCA411 /* ppd-page.c */; }; 274FF6AC1333B1C400317ECB /* ppd-cache.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EF4133305BB00FCA411 /* ppd-cache.c */; }; 274FF6AD1333B1C400317ECB /* ppd.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EF6133305BB00FCA411 /* ppd.c */; }; 274FF6AE1333B1C400317ECB /* pwg-media.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EF8133305BB00FCA411 /* pwg-media.c */; }; @@ -257,21 +257,21 @@ 72220EC41333056300FCA411 /* adminutil.h in Headers */ = {isa = PBXBuildFile; fileRef = 72220EB71333056300FCA411 /* adminutil.h */; settings = {ATTRIBUTES = (Public, ); }; }; 72220EC51333056300FCA411 /* array.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EB81333056300FCA411 /* array.c */; }; 72220EC61333056300FCA411 /* array.h in Headers */ = {isa = PBXBuildFile; fileRef = 72220EB91333056300FCA411 /* array.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 72220EC71333056300FCA411 /* attr.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EBA1333056300FCA411 /* attr.c */; }; + 72220EC71333056300FCA411 /* ppd-attr.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EBA1333056300FCA411 /* ppd-attr.c */; }; 72220EC81333056300FCA411 /* auth.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EBB1333056300FCA411 /* auth.c */; }; 72220EC91333056300FCA411 /* backchannel.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EBC1333056300FCA411 /* backchannel.c */; }; 72220ECA1333056300FCA411 /* backend.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EBD1333056300FCA411 /* backend.c */; }; 72220ECB1333056300FCA411 /* backend.h in Headers */ = {isa = PBXBuildFile; fileRef = 72220EBE1333056300FCA411 /* backend.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 72220ECC1333056300FCA411 /* conflicts.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EBF1333056300FCA411 /* conflicts.c */; }; + 72220ECC1333056300FCA411 /* ppd-conflicts.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EBF1333056300FCA411 /* ppd-conflicts.c */; }; 72220ECD1333056300FCA411 /* cups-private.h in Headers */ = {isa = PBXBuildFile; fileRef = 72220EC01333056300FCA411 /* cups-private.h */; settings = {ATTRIBUTES = (Private, ); }; }; 72220ECE1333056300FCA411 /* cups.h in Headers */ = {isa = PBXBuildFile; fileRef = 72220EC11333056300FCA411 /* cups.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 72220ECF1333056300FCA411 /* custom.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EC21333056300FCA411 /* custom.c */; }; + 72220ECF1333056300FCA411 /* ppd-custom.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EC21333056300FCA411 /* ppd-custom.c */; }; 72220ED01333056300FCA411 /* debug-private.h in Headers */ = {isa = PBXBuildFile; fileRef = 72220EC31333056300FCA411 /* debug-private.h */; settings = {ATTRIBUTES = (Private, ); }; }; 72220F0B133305BB00FCA411 /* debug.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220ED1133305BB00FCA411 /* debug.c */; }; 72220F0C133305BB00FCA411 /* dest.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220ED2133305BB00FCA411 /* dest.c */; }; 72220F0D133305BB00FCA411 /* dir.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220ED3133305BB00FCA411 /* dir.c */; }; 72220F0E133305BB00FCA411 /* dir.h in Headers */ = {isa = PBXBuildFile; fileRef = 72220ED4133305BB00FCA411 /* dir.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 72220F0F133305BB00FCA411 /* emit.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220ED5133305BB00FCA411 /* emit.c */; }; + 72220F0F133305BB00FCA411 /* ppd-emit.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220ED5133305BB00FCA411 /* ppd-emit.c */; }; 72220F10133305BB00FCA411 /* encode.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220ED6133305BB00FCA411 /* encode.c */; }; 72220F11133305BB00FCA411 /* file-private.h in Headers */ = {isa = PBXBuildFile; fileRef = 72220ED7133305BB00FCA411 /* file-private.h */; settings = {ATTRIBUTES = (Private, ); }; }; 72220F12133305BB00FCA411 /* file.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220ED8133305BB00FCA411 /* file.c */; }; @@ -294,14 +294,14 @@ 72220F23133305BB00FCA411 /* language-private.h in Headers */ = {isa = PBXBuildFile; fileRef = 72220EE9133305BB00FCA411 /* language-private.h */; settings = {ATTRIBUTES = (Private, ); }; }; 72220F24133305BB00FCA411 /* language.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EEA133305BB00FCA411 /* language.c */; }; 72220F25133305BB00FCA411 /* language.h in Headers */ = {isa = PBXBuildFile; fileRef = 72220EEB133305BB00FCA411 /* language.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 72220F26133305BB00FCA411 /* localize.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EEC133305BB00FCA411 /* localize.c */; }; - 72220F27133305BB00FCA411 /* mark.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EED133305BB00FCA411 /* mark.c */; }; + 72220F26133305BB00FCA411 /* ppd-localize.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EEC133305BB00FCA411 /* ppd-localize.c */; }; + 72220F27133305BB00FCA411 /* ppd-mark.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EED133305BB00FCA411 /* ppd-mark.c */; }; 72220F28133305BB00FCA411 /* md5-private.h in Headers */ = {isa = PBXBuildFile; fileRef = 72220EEE133305BB00FCA411 /* md5-private.h */; settings = {ATTRIBUTES = (Private, ); }; }; 72220F29133305BB00FCA411 /* md5.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EEF133305BB00FCA411 /* md5.c */; }; 72220F2A133305BB00FCA411 /* md5passwd.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EF0133305BB00FCA411 /* md5passwd.c */; }; 72220F2B133305BB00FCA411 /* notify.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EF1133305BB00FCA411 /* notify.c */; }; 72220F2C133305BB00FCA411 /* options.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EF2133305BB00FCA411 /* options.c */; }; - 72220F2D133305BB00FCA411 /* page.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EF3133305BB00FCA411 /* page.c */; }; + 72220F2D133305BB00FCA411 /* ppd-page.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EF3133305BB00FCA411 /* ppd-page.c */; }; 72220F2E133305BB00FCA411 /* ppd-cache.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EF4133305BB00FCA411 /* ppd-cache.c */; }; 72220F2F133305BB00FCA411 /* ppd-private.h in Headers */ = {isa = PBXBuildFile; fileRef = 72220EF5133305BB00FCA411 /* ppd-private.h */; settings = {ATTRIBUTES = (Private, ); }; }; 72220F30133305BB00FCA411 /* ppd.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220EF6133305BB00FCA411 /* ppd.c */; }; @@ -392,6 +392,8 @@ 728FB7EE15361642005426E1 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58E8136B64B000836530 /* SystemConfiguration.framework */; }; 728FB7F11536167A005426E1 /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 728FB7EF1536167A005426E1 /* libiconv.dylib */; }; 728FB7F21536167A005426E1 /* libresolv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 728FB7F01536167A005426E1 /* libresolv.dylib */; }; + 72A8B3D71C188CB800A1A547 /* ppd-util.c in Sources */ = {isa = PBXBuildFile; fileRef = 72A8B3D61C188BDE00A1A547 /* ppd-util.c */; }; + 72A8B3D81C188CB900A1A547 /* ppd-util.c in Sources */ = {isa = PBXBuildFile; fileRef = 72A8B3D61C188BDE00A1A547 /* ppd-util.c */; }; 72BFD5FB191AF0A30005DA37 /* libcups_static.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 72A4332F155844CF002E172D /* libcups_static.a */; }; 72BFD5FC191AF0A30005DA37 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58E5136B64AF00836530 /* CoreFoundation.framework */; }; 72BFD5FD191AF0A30005DA37 /* Kerberos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 278C58E6136B64B000836530 /* Kerberos.framework */; }; @@ -1406,21 +1408,21 @@ 72220EB71333056300FCA411 /* adminutil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = adminutil.h; path = ../cups/adminutil.h; sourceTree = ""; }; 72220EB81333056300FCA411 /* array.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = array.c; path = ../cups/array.c; sourceTree = ""; }; 72220EB91333056300FCA411 /* array.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = array.h; path = ../cups/array.h; sourceTree = ""; }; - 72220EBA1333056300FCA411 /* attr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = attr.c; path = ../cups/attr.c; sourceTree = ""; }; + 72220EBA1333056300FCA411 /* ppd-attr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "ppd-attr.c"; path = "../cups/ppd-attr.c"; sourceTree = ""; }; 72220EBB1333056300FCA411 /* auth.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = auth.c; path = ../cups/auth.c; sourceTree = ""; }; 72220EBC1333056300FCA411 /* backchannel.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = backchannel.c; path = ../cups/backchannel.c; sourceTree = ""; }; 72220EBD1333056300FCA411 /* backend.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = backend.c; path = ../cups/backend.c; sourceTree = ""; }; 72220EBE1333056300FCA411 /* backend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = backend.h; path = ../cups/backend.h; sourceTree = ""; }; - 72220EBF1333056300FCA411 /* conflicts.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = conflicts.c; path = ../cups/conflicts.c; sourceTree = ""; }; + 72220EBF1333056300FCA411 /* ppd-conflicts.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "ppd-conflicts.c"; path = "../cups/ppd-conflicts.c"; sourceTree = ""; }; 72220EC01333056300FCA411 /* cups-private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "cups-private.h"; path = "../cups/cups-private.h"; sourceTree = ""; }; 72220EC11333056300FCA411 /* cups.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cups.h; path = ../cups/cups.h; sourceTree = ""; }; - 72220EC21333056300FCA411 /* custom.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = custom.c; path = ../cups/custom.c; sourceTree = ""; }; + 72220EC21333056300FCA411 /* ppd-custom.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "ppd-custom.c"; path = "../cups/ppd-custom.c"; sourceTree = ""; }; 72220EC31333056300FCA411 /* debug-private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "debug-private.h"; path = "../cups/debug-private.h"; sourceTree = ""; }; 72220ED1133305BB00FCA411 /* debug.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = debug.c; path = ../cups/debug.c; sourceTree = ""; }; 72220ED2133305BB00FCA411 /* dest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = dest.c; path = ../cups/dest.c; sourceTree = ""; }; 72220ED3133305BB00FCA411 /* dir.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = dir.c; path = ../cups/dir.c; sourceTree = ""; }; 72220ED4133305BB00FCA411 /* dir.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dir.h; path = ../cups/dir.h; sourceTree = ""; }; - 72220ED5133305BB00FCA411 /* emit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = emit.c; path = ../cups/emit.c; sourceTree = ""; }; + 72220ED5133305BB00FCA411 /* ppd-emit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "ppd-emit.c"; path = "../cups/ppd-emit.c"; sourceTree = ""; }; 72220ED6133305BB00FCA411 /* encode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = encode.c; path = ../cups/encode.c; sourceTree = ""; }; 72220ED7133305BB00FCA411 /* file-private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "file-private.h"; path = "../cups/file-private.h"; sourceTree = ""; }; 72220ED8133305BB00FCA411 /* file.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = file.c; path = ../cups/file.c; sourceTree = ""; }; @@ -1443,14 +1445,14 @@ 72220EE9133305BB00FCA411 /* language-private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "language-private.h"; path = "../cups/language-private.h"; sourceTree = ""; }; 72220EEA133305BB00FCA411 /* language.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = language.c; path = ../cups/language.c; sourceTree = ""; }; 72220EEB133305BB00FCA411 /* language.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = language.h; path = ../cups/language.h; sourceTree = ""; }; - 72220EEC133305BB00FCA411 /* localize.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = localize.c; path = ../cups/localize.c; sourceTree = ""; }; - 72220EED133305BB00FCA411 /* mark.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mark.c; path = ../cups/mark.c; sourceTree = ""; }; + 72220EEC133305BB00FCA411 /* ppd-localize.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "ppd-localize.c"; path = "../cups/ppd-localize.c"; sourceTree = ""; }; + 72220EED133305BB00FCA411 /* ppd-mark.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "ppd-mark.c"; path = "../cups/ppd-mark.c"; sourceTree = ""; }; 72220EEE133305BB00FCA411 /* md5-private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "md5-private.h"; path = "../cups/md5-private.h"; sourceTree = ""; }; 72220EEF133305BB00FCA411 /* md5.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = md5.c; path = ../cups/md5.c; sourceTree = ""; }; 72220EF0133305BB00FCA411 /* md5passwd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = md5passwd.c; path = ../cups/md5passwd.c; sourceTree = ""; }; 72220EF1133305BB00FCA411 /* notify.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = notify.c; path = ../cups/notify.c; sourceTree = ""; }; 72220EF2133305BB00FCA411 /* options.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = options.c; path = ../cups/options.c; sourceTree = ""; }; - 72220EF3133305BB00FCA411 /* page.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = page.c; path = ../cups/page.c; sourceTree = ""; }; + 72220EF3133305BB00FCA411 /* ppd-page.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "ppd-page.c"; path = "../cups/ppd-page.c"; sourceTree = ""; }; 72220EF4133305BB00FCA411 /* ppd-cache.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "ppd-cache.c"; path = "../cups/ppd-cache.c"; sourceTree = ""; }; 72220EF5133305BB00FCA411 /* ppd-private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "ppd-private.h"; path = "../cups/ppd-private.h"; sourceTree = ""; }; 72220EF6133305BB00FCA411 /* ppd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ppd.c; path = ../cups/ppd.c; sourceTree = ""; }; @@ -1595,6 +1597,7 @@ 729D4B561A2CB48700692B21 /* CHANGES-2.0.txt */ = {isa = PBXFileReference; lastKnownFileType = text; name = "CHANGES-2.0.txt"; path = "../CHANGES-2.0.txt"; sourceTree = ""; }; 729D4B571A2CB48700692B21 /* CHANGES-IPPTOOL.txt */ = {isa = PBXFileReference; lastKnownFileType = text; name = "CHANGES-IPPTOOL.txt"; path = "../CHANGES-IPPTOOL.txt"; sourceTree = ""; }; 72A4332F155844CF002E172D /* libcups_static.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libcups_static.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 72A8B3D61C188BDE00A1A547 /* ppd-util.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "ppd-util.c"; path = "../cups/ppd-util.c"; sourceTree = ""; }; 72C16CB8137B195D007E4BF4 /* file.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = file.c; path = ../scheduler/file.c; sourceTree = SOURCE_ROOT; }; 72CF95E018A13543000FCAE4 /* dest-job.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "dest-job.c"; path = "../cups/dest-job.c"; sourceTree = ""; }; 72CF95E118A13543000FCAE4 /* dest-localization.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "dest-localization.c"; path = "../cups/dest-localization.c"; sourceTree = ""; }; @@ -2203,20 +2206,16 @@ 27D3037D134148CB00F022B1 /* libcups2.def */, 72220EB51333052D00FCA411 /* adminutil.c */, 72220EB81333056300FCA411 /* array.c */, - 72220EBA1333056300FCA411 /* attr.c */, 72220EBB1333056300FCA411 /* auth.c */, 72220EBC1333056300FCA411 /* backchannel.c */, 72220EBD1333056300FCA411 /* backend.c */, - 72220EBF1333056300FCA411 /* conflicts.c */, - 72220EC21333056300FCA411 /* custom.c */, 72220ED1133305BB00FCA411 /* debug.c */, - 72220ED2133305BB00FCA411 /* dest.c */, 72CF95E018A13543000FCAE4 /* dest-job.c */, 72CF95E118A13543000FCAE4 /* dest-localization.c */, 72CF95E218A13543000FCAE4 /* dest-options.c */, + 72220ED2133305BB00FCA411 /* dest.c */, 72220ED3133305BB00FCA411 /* dir.c */, 72220ED4133305BB00FCA411 /* dir.h */, - 72220ED5133305BB00FCA411 /* emit.c */, 72220ED6133305BB00FCA411 /* encode.c */, 72220ED8133305BB00FCA411 /* file.c */, 72220EDA133305BB00FCA411 /* getdevices.c */, @@ -2224,23 +2223,28 @@ 72220EDC133305BB00FCA411 /* getputfile.c */, 72220EDD133305BB00FCA411 /* globals.c */, 7284F9EF1BFCCD940026F886 /* hash.c */, - 72220EE2133305BB00FCA411 /* http.c */, 72220EDE133305BB00FCA411 /* http-addr.c */, 72220EDF133305BB00FCA411 /* http-addrlist.c */, 72220EE1133305BB00FCA411 /* http-support.c */, - 72220EE6133305BB00FCA411 /* ipp.c */, + 72220EE2133305BB00FCA411 /* http.c */, 72220EE5133305BB00FCA411 /* ipp-support.c */, + 72220EE6133305BB00FCA411 /* ipp.c */, 72220EE8133305BB00FCA411 /* langprintf.c */, 72220EEA133305BB00FCA411 /* language.c */, - 72220EEC133305BB00FCA411 /* localize.c */, - 72220EED133305BB00FCA411 /* mark.c */, 72220EEF133305BB00FCA411 /* md5.c */, 72220EF0133305BB00FCA411 /* md5passwd.c */, 72220EF1133305BB00FCA411 /* notify.c */, 72220EF2133305BB00FCA411 /* options.c */, - 72220EF3133305BB00FCA411 /* page.c */, - 72220EF4133305BB00FCA411 /* ppd-cache.c */, 72220EF6133305BB00FCA411 /* ppd.c */, + 72220EBA1333056300FCA411 /* ppd-attr.c */, + 72220EF4133305BB00FCA411 /* ppd-cache.c */, + 72220EBF1333056300FCA411 /* ppd-conflicts.c */, + 72220EC21333056300FCA411 /* ppd-custom.c */, + 72220ED5133305BB00FCA411 /* ppd-emit.c */, + 72220EEC133305BB00FCA411 /* ppd-localize.c */, + 72220EED133305BB00FCA411 /* ppd-mark.c */, + 72220EF3133305BB00FCA411 /* ppd-page.c */, + 72A8B3D61C188BDE00A1A547 /* ppd-util.c */, 72220EF8133305BB00FCA411 /* pwg-media.c */, 72220EFB133305BB00FCA411 /* request.c */, 72220EFC133305BB00FCA411 /* sidechannel.c */, @@ -2249,10 +2253,10 @@ 72220F02133305BB00FCA411 /* string.c */, 72220F03133305BB00FCA411 /* tempfile.c */, 72220F05133305BB00FCA411 /* thread.c */, - 727AD5B619100A58009F6862 /* tls.c */, 270B267D17F5C06700C8A3A9 /* tls-darwin.c */, 270B267E17F5C06700C8A3A9 /* tls-gnutls.c */, 270B268117F5C5D600C8A3A9 /* tls-sspi.c */, + 727AD5B619100A58009F6862 /* tls.c */, 72220F06133305BB00FCA411 /* transcode.c */, 72220F08133305BB00FCA411 /* usersys.c */, 72220F09133305BB00FCA411 /* util.c */, @@ -3516,16 +3520,16 @@ files = ( 274FF68B1333B1C400317ECB /* adminutil.c in Sources */, 274FF68C1333B1C400317ECB /* array.c in Sources */, - 274FF68D1333B1C400317ECB /* attr.c in Sources */, + 274FF68D1333B1C400317ECB /* ppd-attr.c in Sources */, 274FF68E1333B1C400317ECB /* auth.c in Sources */, 274FF68F1333B1C400317ECB /* backchannel.c in Sources */, 274FF6901333B1C400317ECB /* backend.c in Sources */, - 274FF6911333B1C400317ECB /* conflicts.c in Sources */, - 274FF6921333B1C400317ECB /* custom.c in Sources */, + 274FF6911333B1C400317ECB /* ppd-conflicts.c in Sources */, + 274FF6921333B1C400317ECB /* ppd-custom.c in Sources */, 274FF6931333B1C400317ECB /* debug.c in Sources */, 274FF6941333B1C400317ECB /* dest.c in Sources */, 274FF6951333B1C400317ECB /* dir.c in Sources */, - 274FF6961333B1C400317ECB /* emit.c in Sources */, + 274FF6961333B1C400317ECB /* ppd-emit.c in Sources */, 274FF6971333B1C400317ECB /* encode.c in Sources */, 274FF6981333B1C400317ECB /* file.c in Sources */, 274FF6991333B1C400317ECB /* getdevices.c in Sources */, @@ -3536,20 +3540,21 @@ 274FF69E1333B1C400317ECB /* http-addrlist.c in Sources */, 274FF69F1333B1C400317ECB /* http-support.c in Sources */, 274FF6A01333B1C400317ECB /* http.c in Sources */, + 72A8B3D81C188CB900A1A547 /* ppd-util.c in Sources */, 2767FC7419268F0C000F61D3 /* dest-options.c in Sources */, 274FF6A11333B1C400317ECB /* ipp-support.c in Sources */, 274FF6A21333B1C400317ECB /* ipp.c in Sources */, 274FF6A31333B1C400317ECB /* langprintf.c in Sources */, 274FF6A41333B1C400317ECB /* language.c in Sources */, - 274FF6A51333B1C400317ECB /* localize.c in Sources */, - 274FF6A61333B1C400317ECB /* mark.c in Sources */, + 274FF6A51333B1C400317ECB /* ppd-localize.c in Sources */, + 274FF6A61333B1C400317ECB /* ppd-mark.c in Sources */, 274FF6A71333B1C400317ECB /* md5.c in Sources */, 274FF6A81333B1C400317ECB /* md5passwd.c in Sources */, 7284F9F11BFCCDB20026F886 /* hash.c in Sources */, 274FF6A91333B1C400317ECB /* notify.c in Sources */, 274FF6AA1333B1C400317ECB /* options.c in Sources */, 727AD5B819100A58009F6862 /* tls.c in Sources */, - 274FF6AB1333B1C400317ECB /* page.c in Sources */, + 274FF6AB1333B1C400317ECB /* ppd-page.c in Sources */, 274FF6AC1333B1C400317ECB /* ppd-cache.c in Sources */, 2767FC7219268F06000F61D3 /* dest-job.c in Sources */, 274FF6AD1333B1C400317ECB /* ppd.c in Sources */, @@ -3671,17 +3676,17 @@ files = ( 72220EB61333052D00FCA411 /* adminutil.c in Sources */, 72220EC51333056300FCA411 /* array.c in Sources */, - 72220EC71333056300FCA411 /* attr.c in Sources */, + 72220EC71333056300FCA411 /* ppd-attr.c in Sources */, 727AD5B719100A58009F6862 /* tls.c in Sources */, 72220EC81333056300FCA411 /* auth.c in Sources */, 72220EC91333056300FCA411 /* backchannel.c in Sources */, 72220ECA1333056300FCA411 /* backend.c in Sources */, - 72220ECC1333056300FCA411 /* conflicts.c in Sources */, - 72220ECF1333056300FCA411 /* custom.c in Sources */, + 72220ECC1333056300FCA411 /* ppd-conflicts.c in Sources */, + 72220ECF1333056300FCA411 /* ppd-custom.c in Sources */, 72220F0B133305BB00FCA411 /* debug.c in Sources */, 72220F0C133305BB00FCA411 /* dest.c in Sources */, 72220F0D133305BB00FCA411 /* dir.c in Sources */, - 72220F0F133305BB00FCA411 /* emit.c in Sources */, + 72220F0F133305BB00FCA411 /* ppd-emit.c in Sources */, 72220F10133305BB00FCA411 /* encode.c in Sources */, 72220F12133305BB00FCA411 /* file.c in Sources */, 72220F14133305BB00FCA411 /* getdevices.c in Sources */, @@ -3691,20 +3696,21 @@ 72220F18133305BB00FCA411 /* http-addr.c in Sources */, 72220F19133305BB00FCA411 /* http-addrlist.c in Sources */, 72220F1B133305BB00FCA411 /* http-support.c in Sources */, + 72A8B3D71C188CB800A1A547 /* ppd-util.c in Sources */, 72220F1C133305BB00FCA411 /* http.c in Sources */, 72CF95E518A13543000FCAE4 /* dest-options.c in Sources */, 72220F1F133305BB00FCA411 /* ipp-support.c in Sources */, 72220F20133305BB00FCA411 /* ipp.c in Sources */, 72220F22133305BB00FCA411 /* langprintf.c in Sources */, 72220F24133305BB00FCA411 /* language.c in Sources */, - 72220F26133305BB00FCA411 /* localize.c in Sources */, - 72220F27133305BB00FCA411 /* mark.c in Sources */, + 72220F26133305BB00FCA411 /* ppd-localize.c in Sources */, + 72220F27133305BB00FCA411 /* ppd-mark.c in Sources */, 72220F29133305BB00FCA411 /* md5.c in Sources */, 7284F9F01BFCCDB10026F886 /* hash.c in Sources */, 72220F2A133305BB00FCA411 /* md5passwd.c in Sources */, 72220F2B133305BB00FCA411 /* notify.c in Sources */, 72220F2C133305BB00FCA411 /* options.c in Sources */, - 72220F2D133305BB00FCA411 /* page.c in Sources */, + 72220F2D133305BB00FCA411 /* ppd-page.c in Sources */, 72220F2E133305BB00FCA411 /* ppd-cache.c in Sources */, 72220F30133305BB00FCA411 /* ppd.c in Sources */, 72220F32133305BB00FCA411 /* pwg-media.c in Sources */, -- 2.39.2