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