xref: /aosp_15_r20/external/libcups/scheduler/conf.h (revision 5e7646d21f1134fb0638875d812ef646c12ab91e)
1*5e7646d2SAndroid Build Coastguard Worker /*
2*5e7646d2SAndroid Build Coastguard Worker  * Configuration file definitions for the CUPS scheduler.
3*5e7646d2SAndroid Build Coastguard Worker  *
4*5e7646d2SAndroid Build Coastguard Worker  * Copyright © 2007-2018 by Apple Inc.
5*5e7646d2SAndroid Build Coastguard Worker  * Copyright © 1997-2007 by Easy Software Products, all rights reserved.
6*5e7646d2SAndroid Build Coastguard Worker  *
7*5e7646d2SAndroid Build Coastguard Worker  * Licensed under Apache License v2.0.  See the file "LICENSE" for more
8*5e7646d2SAndroid Build Coastguard Worker  * information.
9*5e7646d2SAndroid Build Coastguard Worker  */
10*5e7646d2SAndroid Build Coastguard Worker 
11*5e7646d2SAndroid Build Coastguard Worker 
12*5e7646d2SAndroid Build Coastguard Worker /*
13*5e7646d2SAndroid Build Coastguard Worker  * Log levels...
14*5e7646d2SAndroid Build Coastguard Worker  */
15*5e7646d2SAndroid Build Coastguard Worker 
16*5e7646d2SAndroid Build Coastguard Worker typedef enum
17*5e7646d2SAndroid Build Coastguard Worker {
18*5e7646d2SAndroid Build Coastguard Worker   CUPSD_LOG_PPD = -5,			/* Used internally for PPD keywords */
19*5e7646d2SAndroid Build Coastguard Worker   CUPSD_LOG_ATTR,			/* Used internally for attributes */
20*5e7646d2SAndroid Build Coastguard Worker   CUPSD_LOG_STATE,			/* Used internally for printer-state-reasons */
21*5e7646d2SAndroid Build Coastguard Worker   CUPSD_LOG_JOBSTATE,			/* Used internally for job-state-reasons */
22*5e7646d2SAndroid Build Coastguard Worker   CUPSD_LOG_PAGE,			/* Used internally for page logging */
23*5e7646d2SAndroid Build Coastguard Worker   CUPSD_LOG_NONE,
24*5e7646d2SAndroid Build Coastguard Worker   CUPSD_LOG_EMERG,			/* Emergency issues */
25*5e7646d2SAndroid Build Coastguard Worker   CUPSD_LOG_ALERT,			/* Something bad happened that needs attention */
26*5e7646d2SAndroid Build Coastguard Worker   CUPSD_LOG_CRIT,			/* Critical error but server continues */
27*5e7646d2SAndroid Build Coastguard Worker   CUPSD_LOG_ERROR,			/* Error condition */
28*5e7646d2SAndroid Build Coastguard Worker   CUPSD_LOG_WARN,			/* Warning */
29*5e7646d2SAndroid Build Coastguard Worker   CUPSD_LOG_NOTICE,			/* Normal condition that needs logging */
30*5e7646d2SAndroid Build Coastguard Worker   CUPSD_LOG_INFO,			/* General information */
31*5e7646d2SAndroid Build Coastguard Worker   CUPSD_LOG_DEBUG,			/* General debugging */
32*5e7646d2SAndroid Build Coastguard Worker   CUPSD_LOG_DEBUG2			/* Detailed debugging */
33*5e7646d2SAndroid Build Coastguard Worker } cupsd_loglevel_t;
34*5e7646d2SAndroid Build Coastguard Worker 
35*5e7646d2SAndroid Build Coastguard Worker typedef enum
36*5e7646d2SAndroid Build Coastguard Worker {
37*5e7646d2SAndroid Build Coastguard Worker   CUPSD_ACCESSLOG_NONE,			/* Log no requests */
38*5e7646d2SAndroid Build Coastguard Worker   CUPSD_ACCESSLOG_CONFIG,		/* Log config requests */
39*5e7646d2SAndroid Build Coastguard Worker   CUPSD_ACCESSLOG_ACTIONS,		/* Log config, print, and job management requests */
40*5e7646d2SAndroid Build Coastguard Worker   CUPSD_ACCESSLOG_ALL			/* Log everything */
41*5e7646d2SAndroid Build Coastguard Worker } cupsd_accesslog_t;
42*5e7646d2SAndroid Build Coastguard Worker 
43*5e7646d2SAndroid Build Coastguard Worker typedef enum
44*5e7646d2SAndroid Build Coastguard Worker {
45*5e7646d2SAndroid Build Coastguard Worker   CUPSD_TIME_STANDARD,			/* "Standard" Apache/CLF format */
46*5e7646d2SAndroid Build Coastguard Worker   CUPSD_TIME_USECS			/* Standard format with microseconds */
47*5e7646d2SAndroid Build Coastguard Worker } cupsd_time_t;
48*5e7646d2SAndroid Build Coastguard Worker 
49*5e7646d2SAndroid Build Coastguard Worker typedef enum
50*5e7646d2SAndroid Build Coastguard Worker {
51*5e7646d2SAndroid Build Coastguard Worker   CUPSD_SANDBOXING_OFF,			/* No sandboxing */
52*5e7646d2SAndroid Build Coastguard Worker   CUPSD_SANDBOXING_RELAXED,		/* Relaxed sandboxing */
53*5e7646d2SAndroid Build Coastguard Worker   CUPSD_SANDBOXING_STRICT		/* Strict sandboxing */
54*5e7646d2SAndroid Build Coastguard Worker } cupsd_sandboxing_t;
55*5e7646d2SAndroid Build Coastguard Worker 
56*5e7646d2SAndroid Build Coastguard Worker 
57*5e7646d2SAndroid Build Coastguard Worker /*
58*5e7646d2SAndroid Build Coastguard Worker  * FatalErrors flags...
59*5e7646d2SAndroid Build Coastguard Worker  */
60*5e7646d2SAndroid Build Coastguard Worker 
61*5e7646d2SAndroid Build Coastguard Worker #define CUPSD_FATAL_NONE	0	/* No errors are fatal */
62*5e7646d2SAndroid Build Coastguard Worker #define CUPSD_FATAL_BROWSE	1	/* Browse bind errors are fatal */
63*5e7646d2SAndroid Build Coastguard Worker #define CUPSD_FATAL_CONFIG	2	/* Config file syntax errors are fatal */
64*5e7646d2SAndroid Build Coastguard Worker #define CUPSD_FATAL_LISTEN	4	/* Listen/Port bind errors are fatal */
65*5e7646d2SAndroid Build Coastguard Worker #define CUPSD_FATAL_LOG		8	/* Log file errors are fatal */
66*5e7646d2SAndroid Build Coastguard Worker #define CUPSD_FATAL_PERMISSIONS	16	/* File permission errors are fatal */
67*5e7646d2SAndroid Build Coastguard Worker #define CUPSD_FATAL_ALL		~0	/* All errors are fatal */
68*5e7646d2SAndroid Build Coastguard Worker 
69*5e7646d2SAndroid Build Coastguard Worker 
70*5e7646d2SAndroid Build Coastguard Worker /*
71*5e7646d2SAndroid Build Coastguard Worker  * Printcap formats...
72*5e7646d2SAndroid Build Coastguard Worker  */
73*5e7646d2SAndroid Build Coastguard Worker 
74*5e7646d2SAndroid Build Coastguard Worker #define PRINTCAP_BSD		0	/* Berkeley LPD format */
75*5e7646d2SAndroid Build Coastguard Worker #define PRINTCAP_SOLARIS	1	/* Solaris lpsched format */
76*5e7646d2SAndroid Build Coastguard Worker #define PRINTCAP_PLIST		2	/* macOS plist format */
77*5e7646d2SAndroid Build Coastguard Worker 
78*5e7646d2SAndroid Build Coastguard Worker 
79*5e7646d2SAndroid Build Coastguard Worker /*
80*5e7646d2SAndroid Build Coastguard Worker  * ServerAlias data...
81*5e7646d2SAndroid Build Coastguard Worker  */
82*5e7646d2SAndroid Build Coastguard Worker 
83*5e7646d2SAndroid Build Coastguard Worker typedef struct
84*5e7646d2SAndroid Build Coastguard Worker {
85*5e7646d2SAndroid Build Coastguard Worker   size_t	namelen;		/* Length of alias name */
86*5e7646d2SAndroid Build Coastguard Worker   char		name[1];		/* Alias name */
87*5e7646d2SAndroid Build Coastguard Worker } cupsd_alias_t;
88*5e7646d2SAndroid Build Coastguard Worker 
89*5e7646d2SAndroid Build Coastguard Worker 
90*5e7646d2SAndroid Build Coastguard Worker /*
91*5e7646d2SAndroid Build Coastguard Worker  * Globals...
92*5e7646d2SAndroid Build Coastguard Worker  */
93*5e7646d2SAndroid Build Coastguard Worker 
94*5e7646d2SAndroid Build Coastguard Worker VAR char		*ConfigurationFile	VALUE(NULL),
95*5e7646d2SAndroid Build Coastguard Worker 					/* cupsd.conf file to use */
96*5e7646d2SAndroid Build Coastguard Worker 			*CupsFilesFile		VALUE(NULL),
97*5e7646d2SAndroid Build Coastguard Worker 					/* cups-files.conf file to use */
98*5e7646d2SAndroid Build Coastguard Worker 			*ServerName		VALUE(NULL),
99*5e7646d2SAndroid Build Coastguard Worker 					/* FQDN for server */
100*5e7646d2SAndroid Build Coastguard Worker 			*ServerAdmin		VALUE(NULL),
101*5e7646d2SAndroid Build Coastguard Worker 					/* Administrator's email */
102*5e7646d2SAndroid Build Coastguard Worker 			*ServerRoot		VALUE(NULL),
103*5e7646d2SAndroid Build Coastguard Worker 					/* Root directory for scheduler */
104*5e7646d2SAndroid Build Coastguard Worker 			*ServerBin		VALUE(NULL),
105*5e7646d2SAndroid Build Coastguard Worker 					/* Root directory for binaries */
106*5e7646d2SAndroid Build Coastguard Worker 			*StateDir		VALUE(NULL),
107*5e7646d2SAndroid Build Coastguard Worker 					/* Root directory for state data */
108*5e7646d2SAndroid Build Coastguard Worker 			*RequestRoot		VALUE(NULL),
109*5e7646d2SAndroid Build Coastguard Worker 					/* Directory for request files */
110*5e7646d2SAndroid Build Coastguard Worker 			*DocumentRoot		VALUE(NULL);
111*5e7646d2SAndroid Build Coastguard Worker 					/* Root directory for documents */
112*5e7646d2SAndroid Build Coastguard Worker VAR cups_array_t	*ServerAlias		VALUE(NULL);
113*5e7646d2SAndroid Build Coastguard Worker 					/* Alias names for server */
114*5e7646d2SAndroid Build Coastguard Worker VAR int			ServerNameIsIP		VALUE(0);
115*5e7646d2SAndroid Build Coastguard Worker 					/* Is the ServerName an IP address? */
116*5e7646d2SAndroid Build Coastguard Worker VAR int			NumSystemGroups		VALUE(0);
117*5e7646d2SAndroid Build Coastguard Worker 					/* Number of system group names */
118*5e7646d2SAndroid Build Coastguard Worker VAR char		*SystemGroups[MAX_SYSTEM_GROUPS]
119*5e7646d2SAndroid Build Coastguard Worker 						VALUE({0});
120*5e7646d2SAndroid Build Coastguard Worker 					/* System group names */
121*5e7646d2SAndroid Build Coastguard Worker VAR gid_t		SystemGroupIDs[MAX_SYSTEM_GROUPS]
122*5e7646d2SAndroid Build Coastguard Worker 						VALUE({0});
123*5e7646d2SAndroid Build Coastguard Worker 					/* System group IDs */
124*5e7646d2SAndroid Build Coastguard Worker VAR char		*AccessLog		VALUE(NULL),
125*5e7646d2SAndroid Build Coastguard Worker 					/* Access log filename */
126*5e7646d2SAndroid Build Coastguard Worker 			*ErrorLog		VALUE(NULL),
127*5e7646d2SAndroid Build Coastguard Worker 					/* Error log filename */
128*5e7646d2SAndroid Build Coastguard Worker 			*PageLog		VALUE(NULL),
129*5e7646d2SAndroid Build Coastguard Worker 					/* Page log filename */
130*5e7646d2SAndroid Build Coastguard Worker 			*CacheDir		VALUE(NULL),
131*5e7646d2SAndroid Build Coastguard Worker 					/* Cache file directory */
132*5e7646d2SAndroid Build Coastguard Worker 			*DataDir		VALUE(NULL),
133*5e7646d2SAndroid Build Coastguard Worker 					/* Data file directory */
134*5e7646d2SAndroid Build Coastguard Worker 			*DefaultLanguage	VALUE(NULL),
135*5e7646d2SAndroid Build Coastguard Worker 					/* Default language encoding */
136*5e7646d2SAndroid Build Coastguard Worker 			*DefaultLocale		VALUE(NULL),
137*5e7646d2SAndroid Build Coastguard Worker 					/* Default locale */
138*5e7646d2SAndroid Build Coastguard Worker 			*DefaultPaperSize	VALUE(NULL),
139*5e7646d2SAndroid Build Coastguard Worker 					/* Default paper size */
140*5e7646d2SAndroid Build Coastguard Worker 			*ErrorPolicy		VALUE(NULL),
141*5e7646d2SAndroid Build Coastguard Worker 					/* Default printer-error-policy */
142*5e7646d2SAndroid Build Coastguard Worker 			*RIPCache		VALUE(NULL),
143*5e7646d2SAndroid Build Coastguard Worker 					/* Amount of memory for RIPs */
144*5e7646d2SAndroid Build Coastguard Worker 			*TempDir		VALUE(NULL),
145*5e7646d2SAndroid Build Coastguard Worker 					/* Temporary directory */
146*5e7646d2SAndroid Build Coastguard Worker 			*Printcap		VALUE(NULL),
147*5e7646d2SAndroid Build Coastguard Worker 					/* Printcap file */
148*5e7646d2SAndroid Build Coastguard Worker 			*FontPath		VALUE(NULL),
149*5e7646d2SAndroid Build Coastguard Worker 					/* Font search path */
150*5e7646d2SAndroid Build Coastguard Worker 			*RemoteRoot		VALUE(NULL),
151*5e7646d2SAndroid Build Coastguard Worker 					/* Remote root user */
152*5e7646d2SAndroid Build Coastguard Worker 			*Classification		VALUE(NULL);
153*5e7646d2SAndroid Build Coastguard Worker 					/* Classification of system */
154*5e7646d2SAndroid Build Coastguard Worker VAR uid_t		User			VALUE(1),
155*5e7646d2SAndroid Build Coastguard Worker 					/* User ID for server */
156*5e7646d2SAndroid Build Coastguard Worker 			RunUser			VALUE(0);
157*5e7646d2SAndroid Build Coastguard Worker 					/* User to run as, used for files */
158*5e7646d2SAndroid Build Coastguard Worker VAR gid_t		Group			VALUE(0);
159*5e7646d2SAndroid Build Coastguard Worker 					/* Group ID for server */
160*5e7646d2SAndroid Build Coastguard Worker VAR cupsd_accesslog_t	AccessLogLevel		VALUE(CUPSD_ACCESSLOG_ACTIONS);
161*5e7646d2SAndroid Build Coastguard Worker 					/* Access log level */
162*5e7646d2SAndroid Build Coastguard Worker VAR int			ClassifyOverride	VALUE(0),
163*5e7646d2SAndroid Build Coastguard Worker 					/* Allow overrides? */
164*5e7646d2SAndroid Build Coastguard Worker 			LogDebugHistory		VALUE(200),
165*5e7646d2SAndroid Build Coastguard Worker 					/* Amount of automatic debug history */
166*5e7646d2SAndroid Build Coastguard Worker 			FatalErrors		VALUE(CUPSD_FATAL_CONFIG),
167*5e7646d2SAndroid Build Coastguard Worker 					/* Which errors are fatal? */
168*5e7646d2SAndroid Build Coastguard Worker 			StrictConformance	VALUE(FALSE),
169*5e7646d2SAndroid Build Coastguard Worker 					/* Require strict IPP conformance? */
170*5e7646d2SAndroid Build Coastguard Worker 			SyncOnClose		VALUE(FALSE);
171*5e7646d2SAndroid Build Coastguard Worker 					/* Call fsync() when closing files? */
172*5e7646d2SAndroid Build Coastguard Worker VAR mode_t		ConfigFilePerm		VALUE(0640U),
173*5e7646d2SAndroid Build Coastguard Worker 					/* Permissions for config files */
174*5e7646d2SAndroid Build Coastguard Worker 			LogFilePerm		VALUE(0644U);
175*5e7646d2SAndroid Build Coastguard Worker 					/* Permissions for log files */
176*5e7646d2SAndroid Build Coastguard Worker VAR cupsd_loglevel_t	LogLevel		VALUE(CUPSD_LOG_WARN);
177*5e7646d2SAndroid Build Coastguard Worker 					/* Error log level */
178*5e7646d2SAndroid Build Coastguard Worker VAR cupsd_time_t	LogTimeFormat		VALUE(CUPSD_TIME_STANDARD);
179*5e7646d2SAndroid Build Coastguard Worker 					/* Log file time format */
180*5e7646d2SAndroid Build Coastguard Worker VAR cups_file_t		*LogStderr		VALUE(NULL);
181*5e7646d2SAndroid Build Coastguard Worker 					/* Stderr file, if any */
182*5e7646d2SAndroid Build Coastguard Worker VAR cupsd_sandboxing_t	Sandboxing		VALUE(CUPSD_SANDBOXING_STRICT);
183*5e7646d2SAndroid Build Coastguard Worker 					/* Sandboxing level */
184*5e7646d2SAndroid Build Coastguard Worker VAR int			UseSandboxing	VALUE(1);
185*5e7646d2SAndroid Build Coastguard Worker 					/* Use sandboxing for child procs? */
186*5e7646d2SAndroid Build Coastguard Worker VAR int			MaxClients		VALUE(100),
187*5e7646d2SAndroid Build Coastguard Worker 					/* Maximum number of clients */
188*5e7646d2SAndroid Build Coastguard Worker 			MaxClientsPerHost	VALUE(0),
189*5e7646d2SAndroid Build Coastguard Worker 					/* Maximum number of clients per host */
190*5e7646d2SAndroid Build Coastguard Worker 			MaxCopies		VALUE(CUPS_DEFAULT_MAX_COPIES),
191*5e7646d2SAndroid Build Coastguard Worker 					/* Maximum number of copies per job */
192*5e7646d2SAndroid Build Coastguard Worker 			MaxLogSize		VALUE(1024 * 1024),
193*5e7646d2SAndroid Build Coastguard Worker 					/* Maximum size of log files */
194*5e7646d2SAndroid Build Coastguard Worker 			MaxRequestSize		VALUE(0),
195*5e7646d2SAndroid Build Coastguard Worker 					/* Maximum size of IPP requests */
196*5e7646d2SAndroid Build Coastguard Worker 			HostNameLookups		VALUE(FALSE),
197*5e7646d2SAndroid Build Coastguard Worker 					/* Do we do reverse lookups? */
198*5e7646d2SAndroid Build Coastguard Worker 			Timeout			VALUE(DEFAULT_TIMEOUT),
199*5e7646d2SAndroid Build Coastguard Worker 					/* Timeout during requests */
200*5e7646d2SAndroid Build Coastguard Worker 			KeepAlive		VALUE(TRUE),
201*5e7646d2SAndroid Build Coastguard Worker 					/* Support the Keep-Alive option? */
202*5e7646d2SAndroid Build Coastguard Worker 			FileDevice		VALUE(FALSE),
203*5e7646d2SAndroid Build Coastguard Worker 					/* Allow file: devices? */
204*5e7646d2SAndroid Build Coastguard Worker 			FilterLimit		VALUE(0),
205*5e7646d2SAndroid Build Coastguard Worker 					/* Max filter cost at any time */
206*5e7646d2SAndroid Build Coastguard Worker 			FilterLevel		VALUE(0),
207*5e7646d2SAndroid Build Coastguard Worker 					/* Current filter level */
208*5e7646d2SAndroid Build Coastguard Worker 			FilterNice		VALUE(0),
209*5e7646d2SAndroid Build Coastguard Worker 					/* Nice value for filters */
210*5e7646d2SAndroid Build Coastguard Worker 			ReloadTimeout		VALUE(DEFAULT_KEEPALIVE),
211*5e7646d2SAndroid Build Coastguard Worker 					/* Timeout before reload from SIGHUP */
212*5e7646d2SAndroid Build Coastguard Worker 			RootCertDuration	VALUE(300),
213*5e7646d2SAndroid Build Coastguard Worker 					/* Root certificate update interval */
214*5e7646d2SAndroid Build Coastguard Worker 			PrintcapFormat		VALUE(PRINTCAP_BSD),
215*5e7646d2SAndroid Build Coastguard Worker 					/* Format of printcap file? */
216*5e7646d2SAndroid Build Coastguard Worker 			DefaultShared		VALUE(TRUE),
217*5e7646d2SAndroid Build Coastguard Worker 					/* Share printers by default? */
218*5e7646d2SAndroid Build Coastguard Worker 			MultipleOperationTimeout VALUE(DEFAULT_TIMEOUT),
219*5e7646d2SAndroid Build Coastguard Worker 					/* multiple-operation-time-out value */
220*5e7646d2SAndroid Build Coastguard Worker 			WebInterface		VALUE(CUPS_DEFAULT_WEBIF);
221*5e7646d2SAndroid Build Coastguard Worker 					/* Enable the web interface? */
222*5e7646d2SAndroid Build Coastguard Worker VAR cups_file_t		*AccessFile		VALUE(NULL),
223*5e7646d2SAndroid Build Coastguard Worker 					/* Access log file */
224*5e7646d2SAndroid Build Coastguard Worker 			*ErrorFile		VALUE(NULL),
225*5e7646d2SAndroid Build Coastguard Worker 					/* Error log file */
226*5e7646d2SAndroid Build Coastguard Worker 			*PageFile		VALUE(NULL);
227*5e7646d2SAndroid Build Coastguard Worker 					/* Page log file */
228*5e7646d2SAndroid Build Coastguard Worker VAR char		*PageLogFormat		VALUE(NULL);
229*5e7646d2SAndroid Build Coastguard Worker 					/* Page log format */
230*5e7646d2SAndroid Build Coastguard Worker VAR mime_t		*MimeDatabase		VALUE(NULL);
231*5e7646d2SAndroid Build Coastguard Worker 					/* MIME type database */
232*5e7646d2SAndroid Build Coastguard Worker VAR int			NumMimeTypes		VALUE(0);
233*5e7646d2SAndroid Build Coastguard Worker 					/* Number of MIME types */
234*5e7646d2SAndroid Build Coastguard Worker VAR const char		**MimeTypes		VALUE(NULL);
235*5e7646d2SAndroid Build Coastguard Worker 					/* Array of MIME types */
236*5e7646d2SAndroid Build Coastguard Worker 
237*5e7646d2SAndroid Build Coastguard Worker #ifdef HAVE_SSL
238*5e7646d2SAndroid Build Coastguard Worker VAR int			CreateSelfSignedCerts	VALUE(TRUE);
239*5e7646d2SAndroid Build Coastguard Worker 					/* Automatically create self-signed certs? */
240*5e7646d2SAndroid Build Coastguard Worker VAR char		*ServerKeychain		VALUE(NULL);
241*5e7646d2SAndroid Build Coastguard Worker 					/* Keychain holding cert + key */
242*5e7646d2SAndroid Build Coastguard Worker #endif /* HAVE_SSL */
243*5e7646d2SAndroid Build Coastguard Worker 
244*5e7646d2SAndroid Build Coastguard Worker #ifdef HAVE_ONDEMAND
245*5e7646d2SAndroid Build Coastguard Worker VAR int			IdleExitTimeout		VALUE(60);
246*5e7646d2SAndroid Build Coastguard Worker 					/* Time after which an idle cupsd will exit */
247*5e7646d2SAndroid Build Coastguard Worker #endif /* HAVE_ONDEMAND */
248*5e7646d2SAndroid Build Coastguard Worker 
249*5e7646d2SAndroid Build Coastguard Worker #ifdef HAVE_AUTHORIZATION_H
250*5e7646d2SAndroid Build Coastguard Worker VAR char		*SystemGroupAuthKey	VALUE(NULL);
251*5e7646d2SAndroid Build Coastguard Worker 					/* System group auth key */
252*5e7646d2SAndroid Build Coastguard Worker #endif /* HAVE_AUTHORIZATION_H */
253*5e7646d2SAndroid Build Coastguard Worker 
254*5e7646d2SAndroid Build Coastguard Worker #ifdef HAVE_GSSAPI
255*5e7646d2SAndroid Build Coastguard Worker VAR char		*GSSServiceName		VALUE(NULL);
256*5e7646d2SAndroid Build Coastguard Worker 					/* GSS service name */
257*5e7646d2SAndroid Build Coastguard Worker VAR int			HaveServerCreds		VALUE(0);
258*5e7646d2SAndroid Build Coastguard Worker 					/* Do we have server credentials? */
259*5e7646d2SAndroid Build Coastguard Worker VAR gss_cred_id_t	ServerCreds;	/* Server's GSS credentials */
260*5e7646d2SAndroid Build Coastguard Worker #endif /* HAVE_GSSAPI */
261*5e7646d2SAndroid Build Coastguard Worker 
262*5e7646d2SAndroid Build Coastguard Worker 
263*5e7646d2SAndroid Build Coastguard Worker /*
264*5e7646d2SAndroid Build Coastguard Worker  * Prototypes...
265*5e7646d2SAndroid Build Coastguard Worker  */
266*5e7646d2SAndroid Build Coastguard Worker 
267*5e7646d2SAndroid Build Coastguard Worker extern void	cupsdAddAlias(cups_array_t *aliases, const char *name);
268*5e7646d2SAndroid Build Coastguard Worker extern int	cupsdCheckLogFile(cups_file_t **lf, const char *logname);
269*5e7646d2SAndroid Build Coastguard Worker extern int	cupsdCheckPermissions(const char *filename,
270*5e7646d2SAndroid Build Coastguard Worker 		                      const char *suffix, mode_t mode,
271*5e7646d2SAndroid Build Coastguard Worker 	 			      uid_t user, gid_t group, int is_dir,
272*5e7646d2SAndroid Build Coastguard Worker 				      int create_dir);
273*5e7646d2SAndroid Build Coastguard Worker extern int	cupsdCheckProgram(const char *filename, cupsd_printer_t *p);
274*5e7646d2SAndroid Build Coastguard Worker extern int	cupsdDefaultAuthType(void);
275*5e7646d2SAndroid Build Coastguard Worker extern void	cupsdFreeAliases(cups_array_t *aliases);
276*5e7646d2SAndroid Build Coastguard Worker extern char	*cupsdGetDateTime(struct timeval *t, cupsd_time_t format);
277*5e7646d2SAndroid Build Coastguard Worker extern int	cupsdLogClient(cupsd_client_t *con, int level, const char *message, ...) _CUPS_FORMAT(3, 4);
278*5e7646d2SAndroid Build Coastguard Worker extern void	cupsdLogFCMessage(void *context, _cups_fc_result_t result, const char *message);
279*5e7646d2SAndroid Build Coastguard Worker #ifdef HAVE_GSSAPI
280*5e7646d2SAndroid Build Coastguard Worker extern int	cupsdLogGSSMessage(int level, OM_uint32 major_status, OM_uint32 minor_status, const char *message, ...) _CUPS_FORMAT(4, 5);
281*5e7646d2SAndroid Build Coastguard Worker #endif /* HAVE_GSSAPI */
282*5e7646d2SAndroid Build Coastguard Worker extern int	cupsdLogJob(cupsd_job_t *job, int level, const char *message,
283*5e7646d2SAndroid Build Coastguard Worker 		            ...) _CUPS_FORMAT(3, 4);
284*5e7646d2SAndroid Build Coastguard Worker extern int	cupsdLogMessage(int level, const char *message, ...) _CUPS_FORMAT(2, 3);
285*5e7646d2SAndroid Build Coastguard Worker extern int	cupsdLogPage(cupsd_job_t *job, const char *page);
286*5e7646d2SAndroid Build Coastguard Worker extern int	cupsdLogRequest(cupsd_client_t *con, http_status_t code);
287*5e7646d2SAndroid Build Coastguard Worker extern int	cupsdReadConfiguration(void);
288*5e7646d2SAndroid Build Coastguard Worker extern int	cupsdWriteErrorLog(int level, const char *message);
289