]> git.ipfire.org Git - thirdparty/cups.git/blob - scheduler/dirsvc.h
Merge pull request #5410 from AOSC-Dev/master
[thirdparty/cups.git] / scheduler / dirsvc.h
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 */