Rebase for cups 2.2.1
[platform/upstream/cups.git] / config.h.in
1 /*
2  * Configuration file for CUPS.
3  *
4  * Copyright 2007-2016 by Apple Inc.
5  * Copyright 1997-2007 by Easy Software Products.
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 #ifndef _CUPS_CONFIG_H_
15 #define _CUPS_CONFIG_H_
16
17 /*
18  * Version of software...
19  */
20
21 #define CUPS_SVERSION   ""
22 #define CUPS_MINIMAL    ""
23
24
25 /*
26  * Default user and groups...
27  */
28
29 #define CUPS_DEFAULT_USER       "lp"
30 #define CUPS_DEFAULT_GROUP      "sys"
31 #define CUPS_DEFAULT_SYSTEM_GROUPS      "sys root system"
32 #define CUPS_DEFAULT_PRINTOPERATOR_AUTH "@SYSTEM"
33 #define CUPS_DEFAULT_SYSTEM_AUTHKEY     "system.print.admin"
34
35
36 /*
37  * Default file permissions...
38  */
39
40 #define CUPS_DEFAULT_CONFIG_FILE_PERM   0640
41 #define CUPS_DEFAULT_LOG_FILE_PERM      0644
42
43
44 /*
45  * Default logging settings...
46  */
47
48 #define CUPS_DEFAULT_LOG_LEVEL  "warn"
49 #define CUPS_DEFAULT_ACCESS_LOG_LEVEL "actions"
50
51
52 /*
53  * Default fatal error settings...
54  */
55
56 #define CUPS_DEFAULT_FATAL_ERRORS       "config"
57
58
59 /*
60  * Default browsing settings...
61  */
62
63 #define CUPS_DEFAULT_BROWSING   1
64 #define CUPS_DEFAULT_BROWSE_LOCAL_PROTOCOLS     ""
65 #define CUPS_DEFAULT_DEFAULT_SHARED 1
66
67
68 /*
69  * Default IPP port...
70  */
71
72 #define CUPS_DEFAULT_IPP_PORT   631
73
74
75 /*
76  * Default printcap file...
77  */
78
79 #define CUPS_DEFAULT_PRINTCAP   "/etc/printcap"
80
81
82 /*
83  * Default Samba and LPD config files...
84  */
85
86 #define CUPS_DEFAULT_SMB_CONFIG_FILE    ""
87 #define CUPS_DEFAULT_LPD_CONFIG_FILE    ""
88
89
90 /*
91  * Default MaxCopies value...
92  */
93
94 #define CUPS_DEFAULT_MAX_COPIES 9999
95
96
97 /*
98  * Do we have domain socket support, and if so what is the default one?
99  */
100
101 #undef CUPS_DEFAULT_DOMAINSOCKET
102
103
104 /*
105  * Default WebInterface value...
106  */
107
108 #undef CUPS_DEFAULT_WEBIF
109
110
111 /*
112  * Where are files stored?
113  *
114  * Note: These are defaults, which can be overridden by environment
115  *       variables at run-time...
116  */
117
118 #define CUPS_BINDIR     "/usr/bin"
119 #define CUPS_CACHEDIR   "/var/cache/cups"
120 #define CUPS_DATADIR    "/usr/share/cups"
121 #define CUPS_DOCROOT    "/usr/share/doc/cups"
122 #define CUPS_FONTPATH   "/usr/share/cups/fonts"
123 #define CUPS_LOCALEDIR  "/usr/share/locale"
124 #define CUPS_LOGDIR     "/var/logs/cups"
125 #define CUPS_REQUESTS   "/var/spool/cups"
126 #define CUPS_SBINDIR    "/usr/sbin"
127 #define CUPS_SERVERBIN  "/usr/lib/cups"
128 #define CUPS_SERVERROOT "/etc/cups"
129 #define CUPS_STATEDIR   "/var/run/cups"
130
131
132 /*
133  * Do we have posix_spawn?
134  */
135
136 #undef HAVE_POSIX_SPAWN
137
138
139 /*
140  * Do we have ZLIB?
141  */
142
143 #undef HAVE_LIBZ
144 #undef HAVE_INFLATECOPY
145
146
147 /*
148  * Do we have PAM stuff?
149  */
150
151 #define HAVE_LIBPAM 0
152 #undef HAVE_PAM_PAM_APPL_H
153 #undef HAVE_PAM_SET_ITEM
154 #undef HAVE_PAM_SETCRED
155
156
157 /*
158  * Do we have <shadow.h>?
159  */
160
161 #undef HAVE_SHADOW_H
162
163
164 /*
165  * Do we have <crypt.h>?
166  */
167
168 #undef HAVE_CRYPT_H
169
170
171 /*
172  * Use <stdint.h>?
173  */
174
175 #undef HAVE_STDINT_H
176
177
178 /*
179  * Use <string.h>, <strings.h>, and/or <bstring.h>?
180  */
181
182 #undef HAVE_STRING_H
183 #undef HAVE_STRINGS_H
184 #undef HAVE_BSTRING_H
185
186
187 /*
188  * Do we have the long long type?
189  */
190
191 #undef HAVE_LONG_LONG
192
193 #ifdef HAVE_LONG_LONG
194 #  define CUPS_LLFMT    "%lld"
195 #  define CUPS_LLCAST   (long long)
196 #else
197 #  define CUPS_LLFMT    "%ld"
198 #  define CUPS_LLCAST   (long)
199 #endif /* HAVE_LONG_LONG */
200
201
202 /*
203  * Do we have the strtoll() function?
204  */
205
206 #undef HAVE_STRTOLL
207
208 #ifndef HAVE_STRTOLL
209 #  define strtoll(nptr,endptr,base) strtol((nptr), (endptr), (base))
210 #endif /* !HAVE_STRTOLL */
211
212
213 /*
214  * Do we have the strXXX() functions?
215  */
216
217 #undef HAVE_STRDUP
218 #undef HAVE_STRLCAT
219 #undef HAVE_STRLCPY
220
221
222 /*
223  * Do we have the geteuid() function?
224  */
225
226 #undef HAVE_GETEUID
227
228
229 /*
230  * Do we have the setpgid() function?
231  */
232
233 #undef HAVE_SETPGID
234
235
236 /*
237  * Do we have the vsyslog() function?
238  */
239
240 #undef HAVE_VSYSLOG
241
242
243 /*
244  * Do we have the ASL functions?
245  */
246
247 #undef HAVE_ASL_H
248
249
250 /*
251  * Do we have the systemd journal functions?
252  */
253
254 #undef HAVE_SYSTEMD_SD_JOURNAL_H
255
256
257 /*
258  * Do we have the (v)snprintf() functions?
259  */
260
261 #undef HAVE_SNPRINTF
262 #undef HAVE_VSNPRINTF
263
264
265 /*
266  * What signal functions to use?
267  */
268
269 #undef HAVE_SIGSET
270 #undef HAVE_SIGACTION
271
272
273 /*
274  * What wait functions to use?
275  */
276
277 #undef HAVE_WAITPID
278 #undef HAVE_WAIT3
279
280
281 /*
282  * Do we have the mallinfo function and malloc.h?
283  */
284
285 #undef HAVE_MALLINFO
286 #undef HAVE_MALLOC_H
287
288
289 /*
290  * Do we have the POSIX ACL functions?
291  */
292
293 #undef HAVE_ACL_INIT
294
295
296 /*
297  * Do we have the langinfo.h header file?
298  */
299
300 #undef HAVE_LANGINFO_H
301
302
303 /*
304  * Which encryption libraries do we have?
305  */
306
307 #undef HAVE_CDSASSL
308 #undef HAVE_GNUTLS
309 #undef HAVE_SSPISSL
310 #undef HAVE_SSL
311
312
313 /*
314  * Do we have the gnutls_transport_set_pull_timeout_function function?
315  */
316
317 #undef HAVE_GNUTLS_TRANSPORT_SET_PULL_TIMEOUT_FUNCTION
318
319
320 /*
321  * Do we have the gnutls_priority_set_direct function?
322  */
323
324 #undef HAVE_GNUTLS_PRIORITY_SET_DIRECT
325
326
327 /*
328  * What Security framework headers do we have?
329  */
330
331 #undef HAVE_AUTHORIZATION_H
332 #undef HAVE_SECBASEPRIV_H
333 #undef HAVE_SECCERTIFICATE_H
334 #undef HAVE_SECIDENTITYSEARCHPRIV_H
335 #undef HAVE_SECITEM_H
336 #undef HAVE_SECITEMPRIV_H
337 #undef HAVE_SECPOLICY_H
338 #undef HAVE_SECPOLICYPRIV_H
339 #undef HAVE_SECURETRANSPORTPRIV_H
340
341
342 /*
343  * Do we have the cssmErrorString function?
344  */
345
346 #undef HAVE_CSSMERRORSTRING
347
348
349 /*
350  * Do we have the SecGenerateSelfSignedCertificate function?
351  */
352
353 #undef HAVE_SECGENERATESELFSIGNEDCERTIFICATE
354
355
356 /*
357  * Do we have the SecKeychainOpen function?
358  */
359
360 #undef HAVE_SECKEYCHAINOPEN
361
362
363 /*
364  * Do we have (a working) SSLSetEnabledCiphers function?
365  */
366
367 #undef HAVE_SSLSETENABLEDCIPHERS
368
369
370 /*
371  * Do we have libpaper?
372  */
373
374 #undef HAVE_LIBPAPER
375
376
377 /*
378  * Do we have mDNSResponder for DNS Service Discovery (aka Bonjour)?
379  */
380
381 #undef HAVE_DNSSD
382
383
384 /*
385  * Do we have Avahi for DNS Service Discovery (aka Bonjour)?
386  */
387
388 #undef HAVE_AVAHI
389
390
391 /*
392  * Do we have <sys/ioctl.h>?
393  */
394
395 #undef HAVE_SYS_IOCTL_H
396
397
398 /*
399  * Does the "stat" structure contain the "st_gen" member?
400  */
401
402 #undef HAVE_ST_GEN
403
404
405 /*
406  * Does the "tm" structure contain the "tm_gmtoff" member?
407  */
408
409 #undef HAVE_TM_GMTOFF
410
411
412 /*
413  * Do we have rresvport_af()?
414  */
415
416 #undef HAVE_RRESVPORT_AF
417
418
419 /*
420  * Do we have getaddrinfo()?
421  */
422
423 #undef HAVE_GETADDRINFO
424
425
426 /*
427  * Do we have getnameinfo()?
428  */
429
430 #undef HAVE_GETNAMEINFO
431
432
433 /*
434  * Do we have getifaddrs()?
435  */
436
437 #undef HAVE_GETIFADDRS
438
439
440 /*
441  * Do we have hstrerror()?
442  */
443
444 #undef HAVE_HSTRERROR
445
446
447 /*
448  * Do we have res_init()?
449  */
450
451 #undef HAVE_RES_INIT
452
453
454 /*
455  * Do we have <resolv.h>
456  */
457
458 #undef HAVE_RESOLV_H
459
460
461 /*
462  * Do we have the <sys/sockio.h> header file?
463  */
464
465 #undef HAVE_SYS_SOCKIO_H
466
467
468 /*
469  * Does the sockaddr structure contain an sa_len parameter?
470  */
471
472 #undef HAVE_STRUCT_SOCKADDR_SA_LEN
473
474
475 /*
476  * Do we have pthread support?
477  */
478
479 #undef HAVE_PTHREAD_H
480
481
482 /*
483  * Do we have on-demand support (launchd/systemd/upstart)?
484  */
485
486 #undef HAVE_ONDEMAND
487
488
489 /*
490  * Do we have launchd support?
491  */
492
493 #undef HAVE_LAUNCH_H
494 #undef HAVE_LAUNCHD
495
496
497 /*
498  * Do we have systemd support?
499  */
500
501 #undef HAVE_SYSTEMD
502
503
504 /*
505  * Do we have upstart support?
506  */
507
508 #undef HAVE_UPSTART
509
510
511 /*
512  * Various scripting languages...
513  */
514
515 #undef HAVE_JAVA
516 #define CUPS_JAVA       "/usr/bin/java"
517 #undef HAVE_PERL
518 #define CUPS_PERL       "/usr/bin/perl"
519 #undef HAVE_PHP
520 #define CUPS_PHP        "/usr/bin/php"
521 #undef HAVE_PYTHON
522 #define CUPS_PYTHON     "/usr/bin/python"
523
524
525 /*
526  * Do we have CoreFoundation public and private headers?
527  */
528
529 #undef HAVE_COREFOUNDATION_H
530 #undef HAVE_CFPRIV_H
531 #undef HAVE_CFBUNDLEPRIV_H
532
533
534 /*
535  * Do we have ApplicationServices public headers?
536  */
537
538 #undef HAVE_APPLICATIONSERVICES_H
539
540
541 /*
542  * Do we have the SCDynamicStoreCopyComputerName function?
543  */
544
545 #undef HAVE_SCDYNAMICSTORECOPYCOMPUTERNAME
546
547
548 /*
549  * Do we have the getgrouplist() function?
550  */
551
552 #undef HAVE_GETGROUPLIST
553
554
555 /*
556  * Do we have macOS 10.4's mbr_XXX functions?
557  */
558
559 #undef HAVE_MEMBERSHIP_H
560 #undef HAVE_MEMBERSHIPPRIV_H
561 #undef HAVE_MBR_UID_TO_UUID
562
563
564 /*
565  * Do we have Darwin's notify_post header and function?
566  */
567
568 #undef HAVE_NOTIFY_H
569 #undef HAVE_NOTIFY_POST
570
571
572 /*
573  * Do we have DBUS?
574  */
575
576 #undef HAVE_DBUS
577 #undef HAVE_DBUS_MESSAGE_ITER_INIT_APPEND
578 #undef HAVE_DBUS_THREADS_INIT
579
580
581 /*
582  * Do we have the GSSAPI support library (for Kerberos support)?
583  */
584
585 #undef HAVE_GSS_ACQUIRE_CRED_EX_F
586 #undef HAVE_GSS_C_NT_HOSTBASED_SERVICE
587 #undef HAVE_GSS_GSSAPI_H
588 #undef HAVE_GSS_GSSAPI_SPI_H
589 #undef HAVE_GSSAPI
590 #undef HAVE_GSSAPI_GSSAPI_H
591 #undef HAVE_GSSAPI_H
592
593
594 /*
595  * Default GSS service name...
596  */
597
598 #define CUPS_DEFAULT_GSSSERVICENAME     ""
599
600
601 /*
602  * Select/poll interfaces...
603  */
604
605 #undef HAVE_POLL
606 #undef HAVE_EPOLL
607 #undef HAVE_KQUEUE
608
609
610 /*
611  * Do we have the <dlfcn.h> header?
612  */
613
614 #undef HAVE_DLFCN_H
615
616
617 /*
618  * Do we have <sys/param.h>?
619  */
620
621 #undef HAVE_SYS_PARAM_H
622
623
624 /*
625  * Do we have <sys/ucred.h>?
626  */
627
628 #undef HAVE_SYS_UCRED_H
629
630
631 /*
632  * Do we have removefile()?
633  */
634
635 #undef HAVE_REMOVEFILE
636
637
638 /*
639  * Do we have <sandbox.h>?
640  */
641
642 #undef HAVE_SANDBOX_H
643
644
645 /*
646  * Which random number generator function to use...
647  */
648
649 #undef HAVE_ARC4RANDOM
650 #undef HAVE_RANDOM
651 #undef HAVE_LRAND48
652
653 #ifdef HAVE_ARC4RANDOM
654 #  define CUPS_RAND() arc4random()
655 #  define CUPS_SRAND(v)
656 #elif defined(HAVE_RANDOM)
657 #  define CUPS_RAND() random()
658 #  define CUPS_SRAND(v) srandom(v)
659 #elif defined(HAVE_LRAND48)
660 #  define CUPS_RAND() lrand48()
661 #  define CUPS_SRAND(v) srand48(v)
662 #else
663 #  define CUPS_RAND() rand()
664 #  define CUPS_SRAND(v) srand(v)
665 #endif /* HAVE_ARC4RANDOM */
666
667
668 /*
669  * Do we have libusb?
670  */
671
672 #undef HAVE_LIBUSB
673
674
675 /*
676  * Do we have libwrap and tcpd.h?
677  */
678
679 #undef HAVE_TCPD_H
680
681
682 /*
683  * Do we have <iconv.h>?
684  */
685
686 #undef HAVE_ICONV_H
687
688
689 /*
690  * Do we have statfs or statvfs and one of the corresponding headers?
691  */
692
693 #undef HAVE_STATFS
694 #undef HAVE_STATVFS
695 #undef HAVE_SYS_MOUNT_H
696 #undef HAVE_SYS_STATFS_H
697 #undef HAVE_SYS_STATVFS_H
698 #undef HAVE_SYS_VFS_H
699
700
701 /*
702  * Location of macOS localization bundle, if any.
703  */
704
705 #undef CUPS_BUNDLEDIR
706
707
708 /*
709  * Do we have XPC?
710  */
711
712 #undef HAVE_XPC
713 #undef HAVE_XPC_PRIVATE_H
714
715
716 /*
717  * Do we have Mini-XML?
718  */
719
720 #undef HAVE_MXML_H
721
722
723 /*
724  * Do we have the C99 abs() function?
725  */
726
727 #undef HAVE_ABS
728 #if !defined(HAVE_ABS) && !defined(abs)
729 #  if defined(__GNUC__) || __STDC_VERSION__ >= 199901L
730 #    define abs(x) _cups_abs(x)
731 static inline int _cups_abs(int i) { return (i < 0 ? -i : i); }
732 #  elif defined(_MSC_VER)
733 #    define abs(x) _cups_abs(x)
734 static __inline int _cups_abs(int i) { return (i < 0 ? -i : i); }
735 #  else
736 #    define abs(x) ((x) < 0 ? -(x) : (x))
737 #  endif /* __GNUC__ || __STDC_VERSION__ */
738 #endif /* !HAVE_ABS && !abs */
739
740 #endif /* !_CUPS_CONFIG_H_ */