/* * Directory services definitions for the CUPS scheduler. * * Copyright 2007-2017 by Apple Inc. * Copyright 1997-2007 by Easy Software Products, all rights reserved. * * Licensed under Apache License v2.0. See the file "LICENSE" for more information. */ /* * Browse protocols... */ #define BROWSE_DNSSD 1 /* DNS Service Discovery (aka Bonjour) */ #define BROWSE_SMB 2 /* SMB/Samba */ #define BROWSE_LPD 4 /* LPD via xinetd or launchd */ #define BROWSE_ALL 7 /* All protocols */ /* * Globals... */ VAR int Browsing VALUE(TRUE), /* Whether or not browsing is enabled */ BrowseWebIF VALUE(FALSE), /* Whether the web interface is advertised */ BrowseLocalProtocols VALUE(BROWSE_ALL); /* Protocols to support for local printers */ #if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) VAR char *DNSSDComputerName VALUE(NULL), /* Computer/server name */ *DNSSDHostName VALUE(NULL), /* Hostname */ *DNSSDSubTypes VALUE(NULL); /* Bonjour registration subtypes */ VAR cups_array_t *DNSSDAlias VALUE(NULL); /* List of dynamic ServerAlias's */ VAR int DNSSDPort VALUE(0); /* Port number to register */ VAR cups_array_t *DNSSDPrinters VALUE(NULL); /* Printers we have registered */ # ifdef HAVE_DNSSD VAR DNSServiceRef DNSSDMaster VALUE(NULL); /* Master DNS-SD service reference */ # else /* HAVE_AVAHI */ VAR AvahiThreadedPoll *DNSSDMaster VALUE(NULL); /* Master polling interface for Avahi */ VAR AvahiClient *DNSSDClient VALUE(NULL); /* Client information */ # endif /* HAVE_DNSSD */ VAR cupsd_srv_t WebIFSrv VALUE(NULL); /* Service reference for the web interface */ #endif /* HAVE_DNSSD || HAVE_AVAHI */ VAR char *LPDConfigFile VALUE(NULL), /* LPD configuration file */ *SMBConfigFile VALUE(NULL); /* SMB configuration file */ /* * Prototypes... */ extern void cupsdDeregisterPrinter(cupsd_printer_t *p, int removeit); extern void cupsdRegisterPrinter(cupsd_printer_t *p); extern void cupsdStartBrowsing(void); extern void cupsdStopBrowsing(void); #if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) extern void cupsdUpdateDNSSDName(void); #endif /* HAVE_DNSSD || HAVE_AVAHI */