1 /* 2 * Directory services definitions for the CUPS scheduler. 3 * 4 * Copyright 2007-2017 by Apple Inc. 5 * Copyright 1997-2007 by Easy Software Products, all rights reserved. 6 * 7 * Licensed under Apache License v2.0. See the file "LICENSE" for more information. 8 */ 9 10 /* 11 * Browse protocols... 12 */ 13 14 #define BROWSE_DNSSD 1 /* DNS Service Discovery (aka Bonjour) */ 15 #define BROWSE_SMB 2 /* SMB/Samba */ 16 #define BROWSE_LPD 4 /* LPD via xinetd or launchd */ 17 #define BROWSE_ALL 7 /* All protocols */ 18 19 20 /* 21 * Globals... 22 */ 23 24 VAR int Browsing VALUE(TRUE), 25 /* Whether or not browsing is enabled */ 26 BrowseWebIF VALUE(FALSE), 27 /* Whether the web interface is advertised */ 28 BrowseLocalProtocols 29 VALUE(BROWSE_ALL); 30 /* Protocols to support for local printers */ 31 #if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) 32 VAR char *DNSSDComputerName VALUE(NULL), 33 /* Computer/server name */ 34 *DNSSDHostName VALUE(NULL), 35 /* Hostname */ 36 *DNSSDSubTypes VALUE(NULL); 37 /* Bonjour registration subtypes */ 38 VAR cups_array_t *DNSSDAlias VALUE(NULL); 39 /* List of dynamic ServerAlias's */ 40 VAR int DNSSDPort VALUE(0); 41 /* Port number to register */ 42 VAR cups_array_t *DNSSDPrinters VALUE(NULL); 43 /* Printers we have registered */ 44 # ifdef HAVE_DNSSD 45 VAR DNSServiceRef DNSSDMaster VALUE(NULL); 46 /* Master DNS-SD service reference */ 47 # else /* HAVE_AVAHI */ 48 VAR AvahiThreadedPoll *DNSSDMaster VALUE(NULL); 49 /* Master polling interface for Avahi */ 50 VAR AvahiClient *DNSSDClient VALUE(NULL); 51 /* Client information */ 52 # endif /* HAVE_DNSSD */ 53 VAR cupsd_srv_t WebIFSrv VALUE(NULL); 54 /* Service reference for the web interface */ 55 #endif /* HAVE_DNSSD || HAVE_AVAHI */ 56 57 VAR char *LPDConfigFile VALUE(NULL), 58 /* LPD configuration file */ 59 *SMBConfigFile VALUE(NULL); 60 /* SMB configuration file */ 61 62 63 /* 64 * Prototypes... 65 */ 66 67 extern void cupsdDeregisterPrinter(cupsd_printer_t *p, int removeit); 68 extern void cupsdRegisterPrinter(cupsd_printer_t *p); 69 extern void cupsdStartBrowsing(void); 70 extern void cupsdStopBrowsing(void); 71 #if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) 72 extern void cupsdUpdateDNSSDName(void); 73 #endif /* HAVE_DNSSD || HAVE_AVAHI */ 74