From: msweet Date: Thu, 27 Feb 2014 17:06:06 +0000 (+0000) Subject: Log 32-bit vs. 64-bit class driver usage. X-Git-Tag: v2.2b1~730 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9fb65b897118ab940345d07be5d1b90045f9079f;p=thirdparty%2Fcups.git Log 32-bit vs. 64-bit class driver usage. git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@11649 a1ca3aef-8c08-0410-bb20-df032aa958be --- diff --git a/backend/usb-darwin.c b/backend/usb-darwin.c index 302ae98168..050dca1049 100644 --- a/backend/usb-darwin.c +++ b/backend/usb-darwin.c @@ -68,7 +68,7 @@ #include #include #include - +#include #include #include @@ -280,6 +280,9 @@ static void release_deviceinfo(CFStringRef *make, CFStringRef *model, CFStringRe static void setup_cfLanguage(void); static void soft_reset(void); static void status_timer_cb(CFRunLoopTimerRef timer, void *info); +static void log_usb_class_driver(int is_64bit); +#define IS_64BIT 1 +#define IS_NOT_64BIT 0 #if defined(__i386__) || defined(__x86_64__) static pid_t child_pid; /* Child PID */ @@ -465,6 +468,10 @@ print_device(const char *uri, /* I - Device URI */ } } while (status != noErr); +#ifdef __x86_64__ + log_usb_class_driver(IS_64BIT); +#endif /* __x86_64__ */ + fputs("STATE: -connecting-to-device\n", stderr); /* @@ -1949,6 +1956,8 @@ static void run_legacy_backend(int argc, if (!usb_legacy_status) { + log_usb_class_driver(IS_NOT_64BIT); + /* * Setup a SIGTERM handler then block it before forking... */ @@ -2311,6 +2320,32 @@ static void get_device_id(cups_sc_status_t *status, } +static void +log_usb_class_driver(int is_64bit) /* I - Is the USB class driver 64-bit? */ +{ + /* + * Report the usage of legacy USB class drivers to Apple if the user opts into providing + * feedback to Apple... + */ + + aslmsg aslm = asl_new(ASL_TYPE_MSG); + if (aslm) + { + ppd_file_t *ppd = ppdOpenFile(getenv("PPD")); + const char *make_model = ppd ? ppd->nickname : NULL; + ppd_attr_t *version = ppdFindAttr(ppd, "FileVersion", ""); + + asl_set(aslm, "com.apple.message.domain", "com.apple.printing.usb.64bit"); + asl_set(aslm, "com.apple.message.result", is_64bit ? "yes" : "no"); + asl_set(aslm, "com.apple.message.signature", make_model ? make_model : "Unknown"); + asl_set(aslm, "com.apple.message.signature2", version ? version->value : "?.?"); + asl_set(aslm, "com.apple.message.summarize", "YES"); + asl_log(NULL, aslm, ASL_LEVEL_NOTICE, "%s (%s) is a %s printer driver.", make_model ? make_model : "Unknown", version ? version->value : "?.?", is_64bit ? "64-bit" : "32-bit"); + asl_free(aslm); + } +} + + /* * End of "$Id$". */