1/*
2 * "$Id: dirsvc.h 11093 2013-07-03 20:48:42Z msweet $"
3 *
4 *   Directory services definitions for the CUPS scheduler.
5 *
6 *   Copyright 2007-2012 by Apple Inc.
7 *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
8 *
9 *   These coded instructions, statements, and computer programs are the
10 *   property of Apple Inc. and are protected by Federal copyright
11 *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
12 *   which should have been included with this file.  If this file is
13 *   file is missing or damaged, see the license at "http://www.cups.org/".
14 */
15
16/*
17 * Browse protocols...
18 */
19
20#define BROWSE_DNSSD	1		/* DNS Service Discovery (aka Bonjour) */
21#define BROWSE_SMB	2		/* SMB/Samba */
22#define BROWSE_LPD	4		/* LPD via xinetd or launchd */
23#define BROWSE_ALL	7		/* All protocols */
24
25
26/*
27 * Globals...
28 */
29
30VAR int			Browsing	VALUE(TRUE),
31					/* Whether or not browsing is enabled */
32			BrowseWebIF	VALUE(FALSE),
33					/* Whether the web interface is advertised */
34			BrowseLocalProtocols
35					VALUE(BROWSE_ALL);
36					/* Protocols to support for local printers */
37#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
38VAR char		*DNSSDComputerName VALUE(NULL),
39					/* Computer/server name */
40			*DNSSDHostName	VALUE(NULL),
41					/* Hostname */
42			*DNSSDSubTypes VALUE(NULL);
43					/* Bonjour registration subtypes */
44VAR cups_array_t	*DNSSDAlias	VALUE(NULL);
45					/* List of dynamic ServerAlias's */
46VAR int			DNSSDPort	VALUE(0);
47					/* Port number to register */
48VAR cups_array_t	*DNSSDPrinters	VALUE(NULL);
49					/* Printers we have registered */
50#  ifdef HAVE_DNSSD
51VAR DNSServiceRef	DNSSDMaster	VALUE(NULL);
52					/* Master DNS-SD service reference */
53#  else /* HAVE_AVAHI */
54VAR AvahiThreadedPoll	*DNSSDMaster	VALUE(NULL);
55					/* Master polling interface for Avahi */
56VAR AvahiClient		*DNSSDClient	VALUE(NULL);
57					/* Client information */
58#  endif /* HAVE_DNSSD */
59VAR cupsd_srv_t		WebIFSrv	VALUE(NULL);
60					/* Service reference for the web interface */
61#endif /* HAVE_DNSSD || HAVE_AVAHI */
62
63VAR char		*LPDConfigFile	VALUE(NULL),
64					/* LPD configuration file */
65			*SMBConfigFile	VALUE(NULL);
66					/* SMB configuration file */
67
68
69/*
70 * Prototypes...
71 */
72
73extern void	cupsdDeregisterPrinter(cupsd_printer_t *p, int removeit);
74extern void	cupsdRegisterPrinter(cupsd_printer_t *p);
75extern void	cupsdStartBrowsing(void);
76extern void	cupsdStopBrowsing(void);
77#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
78extern void	cupsdUpdateDNSSDName(void);
79#endif /* HAVE_DNSSD || HAVE_AVAHI */
80
81
82/*
83 * End of "$Id: dirsvc.h 11093 2013-07-03 20:48:42Z msweet $".
84 */
85