/*1* Directory services definitions for the CUPS scheduler.2*3* Copyright © 2021-2022 by OpenPrinting.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 more8* information.9*/1011/*12* Browse protocols...13*/1415#define BROWSE_DNSSD 1 /* DNS Service Discovery (aka Bonjour) */16#define BROWSE_ALL 1 /* All protocols */171819/*20* Globals...21*/2223VAR int Browsing VALUE(TRUE),24/* Whether or not browsing is enabled */25BrowseWebIF VALUE(FALSE),26/* Whether the web interface is advertised */27BrowseLocalProtocols28VALUE(BROWSE_ALL);29/* Protocols to support for local printers */30#ifdef HAVE_DNSSD31VAR char *DNSSDComputerName VALUE(NULL),32/* Computer/server name */33*DNSSDHostName VALUE(NULL),34/* Hostname */35*DNSSDSubTypes VALUE(NULL);36/* Bonjour registration subtypes */37VAR cups_array_t *DNSSDAlias VALUE(NULL);38/* List of dynamic ServerAlias's */39VAR int DNSSDPort VALUE(0);40/* Port number to register */41VAR cups_array_t *DNSSDPrinters VALUE(NULL);42/* Printers we have registered */43# ifdef HAVE_MDNSRESPONDER44VAR DNSServiceRef DNSSDMaster VALUE(NULL);45/* Master DNS-SD service reference */46# else /* HAVE_AVAHI */47VAR AvahiThreadedPoll *DNSSDMaster VALUE(NULL);48/* Master polling interface for Avahi */49VAR AvahiClient *DNSSDClient VALUE(NULL);50/* Client information */51# endif /* HAVE_MDNSRESPONDER */52VAR cupsd_srv_t WebIFSrv VALUE(NULL);53/* Service reference for the web interface */54#endif /* HAVE_DNSSD */555657/*58* Prototypes...59*/6061extern void cupsdDeregisterPrinter(cupsd_printer_t *p, int removeit);62extern void cupsdRegisterPrinter(cupsd_printer_t *p);63extern void cupsdStartBrowsing(void);64extern void cupsdStopBrowsing(void);65#ifdef HAVE_DNSSD66extern void cupsdUpdateDNSSDName(void);67#endif /* HAVE_DNSSD */686970