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