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