Imported Debian patch 1.6.9p12-1
[debian/sudo] / config.h.in
1 /* config.h.in.  Generated from configure.in by autoheader.  */
2
3 #ifndef _SUDO_CONFIG_H
4 #define _SUDO_CONFIG_H
5
6 /* Define to 1 if the `syslog' function returns a non-zero int to denote
7    failure. */
8 #undef BROKEN_SYSLOG
9
10 /* Define to 1 if you want the insults from the "classic" version sudo. */
11 #undef CLASSIC_INSULTS
12
13 /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
14    systems. This function is required for `alloca.c' support on those systems.
15    */
16 #undef CRAY_STACKSEG_END
17
18 /* Define to 1 if you want insults culled from the twisted minds of CSOps. */
19 #undef CSOPS_INSULTS
20
21 /* Define to 1 if using `alloca.c'. */
22 #undef C_ALLOCA
23
24 /* Define to 1 if you want sudo to display "command not allowed" instead of
25    "command not found" when a command cannot be found. */
26 #undef DONT_LEAK_PATH_INFO
27
28 /* A colon-separated list of pathnames to be used as the editor for visudo. */
29 #undef EDITOR
30
31 /* Define to 1 if you want visudo to honor the EDITOR and VISUAL env
32    variables. */
33 #undef ENV_EDITOR
34
35 /* If defined, users in this group need not enter a passwd (ie "sudo"). */
36 #undef EXEMPTGROUP
37
38 /* Define to 1 if you want to require fully qualified hosts in sudoers. */
39 #undef FQDN
40
41 /* Define to 1 if you want insults from the "Goon Show". */
42 #undef GOONS_INSULTS
43
44 /* Define to 1 if you want 2001-like insults. */
45 #undef HAL_INSULTS
46
47 /* Define to 1 if you use AFS. */
48 #undef HAVE_AFS
49
50 /* Define to 1 if you use AIX general authentication. */
51 #undef HAVE_AIXAUTH
52
53 /* Define to 1 if you have `alloca', as a function or macro. */
54 #undef HAVE_ALLOCA
55
56 /* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
57    */
58 #undef HAVE_ALLOCA_H
59
60 /* Define to 1 if you have the `asprintf' function. */
61 #undef HAVE_ASPRINTF
62
63 /* Define to 1 if you have the `authenticate' function. */
64 #undef HAVE_AUTHENTICATE
65
66 /* Define to 1 if you have the `auth_challenge' function. */
67 #undef HAVE_AUTH_CHALLENGE
68
69 /* Define to 1 if you have the `bigcrypt' function. */
70 #undef HAVE_BIGCRYPT
71
72 /* Define to 1 if you use BSD authentication. */
73 #undef HAVE_BSD_AUTH_H
74
75 /* Define to 1 if you have the `closefrom' function. */
76 #undef HAVE_CLOSEFROM
77
78 /* Define to 1 if you use OSF DCE. */
79 #undef HAVE_DCE
80
81 /* Define to 1 if your `DIR' contains dd_fd. */
82 #undef HAVE_DD_FD
83
84 /* Define to 1 if you have the `dgettext' function. */
85 #undef HAVE_DGETTEXT
86
87 /* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
88    */
89 #undef HAVE_DIRENT_H
90
91 /* Define to 1 if you have the `dirfd' function or macro. */
92 #undef HAVE_DIRFD
93
94 /* Define to 1 if you have the `dispcrypt' function. */
95 #undef HAVE_DISPCRYPT
96
97 /* Define to 1 if you have the <err.h> header file. */
98 #undef HAVE_ERR_H
99
100 /* Define to 1 if your glob.h defines the GLOB_BRACE and GLOB_TILDE flags. */
101 #undef HAVE_EXTENDED_GLOB
102
103 /* Define to 1 if your system has the F_CLOSEM fcntl. */
104 #undef HAVE_FCNTL_CLOSEM
105
106 /* Define to 1 if you have the `flock' function. */
107 #undef HAVE_FLOCK
108
109 /* Define to 1 if you have the `fnmatch' function. */
110 #undef HAVE_FNMATCH
111
112 /* Define to 1 if you have the `freeifaddrs' function. */
113 #undef HAVE_FREEIFADDRS
114
115 /* Define to 1 if you have the `fstat' function. */
116 #undef HAVE_FSTAT
117
118 /* Define to 1 if you have the `futime' function. */
119 #undef HAVE_FUTIME
120
121 /* Define to 1 if you have the `futimes' function. */
122 #undef HAVE_FUTIMES
123
124 /* Define to 1 if you have the `futimesat' function. */
125 #undef HAVE_FUTIMESAT
126
127 /* Define to 1 if you use the FWTK authsrv daemon. */
128 #undef HAVE_FWTK
129
130 /* Define to 1 if you have the `getaddrinfo' function. */
131 #undef HAVE_GETADDRINFO
132
133 /* Define to 1 if you have the `getauthuid' function. (ULTRIX 4.x shadow
134    passwords) */
135 #undef HAVE_GETAUTHUID
136
137 /* Define to 1 if you have the `getcwd' function. */
138 #undef HAVE_GETCWD
139
140 /* Define to 1 if you have the `getdomainname' function. */
141 #undef HAVE_GETDOMAINNAME
142
143 /* Define to 1 if you have the `getgroups' function. */
144 #undef HAVE_GETGROUPS
145
146 /* Define to 1 if you have the `getifaddrs' function. */
147 #undef HAVE_GETIFADDRS
148
149 /* Define to 1 if you have the `getprogname' function. */
150 #undef HAVE_GETPROGNAME
151
152 /* Define to 1 if you have the `getprpwnam' function. (SecureWare-style shadow
153    passwords) */
154 #undef HAVE_GETPRPWNAM
155
156 /* Define to 1 if you have the `getpwanam' function. (SunOS 4.x shadow
157    passwords) */
158 #undef HAVE_GETPWANAM
159
160 /* Define to 1 if you have the `getspnam' function (SVR4-style shadow
161    passwords) */
162 #undef HAVE_GETSPNAM
163
164 /* Define to 1 if you have the `getspwuid' function. (HP-UX <= 9.X shadow
165    passwords) */
166 #undef HAVE_GETSPWUID
167
168 /* Define to 1 if you have the `gettimeofday' function. */
169 #undef HAVE_GETTIMEOFDAY
170
171 /* Define to 1 if you have the `glob' function. */
172 #undef HAVE_GLOB
173
174 /* Define to 1 if your Kerberos is Heimdal. */
175 #undef HAVE_HEIMDAL
176
177 /* Define to 1 if <netinet/in.h> contains struct in6_addr. */
178 #undef HAVE_IN6_ADDR
179
180 /* Define to 1 if you have the `initgroups' function. */
181 #undef HAVE_INITGROUPS
182
183 /* Define to 1 if you have the `initprivs' function. */
184 #undef HAVE_INITPRIVS
185
186 /* Define to 1 if you have the `innetgr' function. */
187 #undef HAVE_INNETGR
188
189 /* Define to 1 if you have the <inttypes.h> header file. */
190 #undef HAVE_INTTYPES_H
191
192 /* Define if you have isblank(3). */
193 #undef HAVE_ISBLANK
194
195 /* Define to 1 if you have the `iscomsec' function. (HP-UX >= 10.x check for
196    shadow enabled) */
197 #undef HAVE_ISCOMSEC
198
199 /* Define to 1 if you have the `issecure' function. (SunOS 4.x check for
200    shadow enabled) */
201 #undef HAVE_ISSECURE
202
203 /* Define to 1 if you use Kerberos IV. */
204 #undef HAVE_KERB4
205
206 /* Define to 1 if you use Kerberos V. */
207 #undef HAVE_KERB5
208
209 /* Define to 1 if you have the `krb5_init_secure_context' function. */
210 #undef HAVE_KRB5_INIT_SECURE_CONTEXT
211
212 /* Define to 1 if you have the `krb5_verify_user' function. */
213 #undef HAVE_KRB5_VERIFY_USER
214
215 /* Define to 1 if your LDAP needs <lber.h>. (OpenLDAP does not) */
216 #undef HAVE_LBER_H
217
218 /* Define to 1 if you use LDAP for sudoers. */
219 #undef HAVE_LDAP
220
221 /* Define to 1 if you have the `ldap_initialize' function. */
222 #undef HAVE_LDAP_INITIALIZE
223
224 /* Define to 1 if you have the <ldap_ssl.h> header file. */
225 #undef HAVE_LDAP_SSL_H
226
227 /* Define to 1 if you have the `ldap_start_tls_s' function. */
228 #undef HAVE_LDAP_START_TLS_S
229
230 /* Define to 1 if you have the `ldapssl_init' function. */
231 #undef HAVE_LDAPSSL_INIT
232
233 /* Define to 1 if you have the `ldapssl_set_strength' function. */
234 #undef HAVE_LDAPSSL_SET_STRENGTH
235
236 /* Define to 1 if you have the `lockf' function. */
237 #undef HAVE_LOCKF
238
239 /* Define to 1 if you have the <login_cap.h> header file. */
240 #undef HAVE_LOGIN_CAP_H
241
242 /* Define if your compiler supports the "long long" type. */
243 #undef HAVE_LONG_LONG
244
245 /* Define to 1 if you have the `lrand48' function. */
246 #undef HAVE_LRAND48
247
248 /* Define to 1 if you have the `lsearch' function. */
249 #undef HAVE_LSEARCH
250
251 /* Define to 1 if you have the <malloc.h> header file. */
252 #undef HAVE_MALLOC_H
253
254 /* Define to 1 if you have the `memchr' function. */
255 #undef HAVE_MEMCHR
256
257 /* Define to 1 if you have the `memcpy' function. */
258 #undef HAVE_MEMCPY
259
260 /* Define to 1 if you have the <memory.h> header file. */
261 #undef HAVE_MEMORY_H
262
263 /* Define to 1 if you have the `memrchr' function. */
264 #undef HAVE_MEMRCHR
265
266 /* Define to 1 if you have the `memset' function. */
267 #undef HAVE_MEMSET
268
269 /* Define to 1 if you have the `mkstemp' function. */
270 #undef HAVE_MKSTEMP
271
272 /* Define to 1 if you have the <mps/ldap_ssl.h> header file. */
273 #undef HAVE_MPS_LDAP_SSL_H
274
275 /* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
276 #undef HAVE_NDIR_H
277
278 /* Define to 1 if you have the <netgroup.h> header file. */
279 #undef HAVE_NETGROUP_H
280
281 /* Define to 1 if you use NRL OPIE. */
282 #undef HAVE_OPIE
283
284 /* Define to 1 if you use PAM authentication. */
285 #undef HAVE_PAM
286
287 /* Define to 1 if you have the <pam/pam_appl.h> header file. */
288 #undef HAVE_PAM_PAM_APPL_H
289
290 /* Define to 1 if you have the <paths.h> header file. */
291 #undef HAVE_PATHS_H
292
293 /* Define to 1 if you have the <project.h> header file. */
294 #undef HAVE_PROJECT_H
295
296 /* Define to 1 if you have the `random' function. */
297 #undef HAVE_RANDOM
298
299 /* Define if your struct sockadr has an sa_len field. */
300 #undef HAVE_SA_LEN
301
302 /* Define to 1 if you use SecurID for authentication. */
303 #undef HAVE_SECURID
304
305 /* Define to 1 if you have the <security/pam_appl.h> header file. */
306 #undef HAVE_SECURITY_PAM_APPL_H
307
308 /* Define to 1 if you have the `seteuid' function. */
309 #undef HAVE_SETEUID
310
311 /* Define to 1 if you have the `setlocale' function. */
312 #undef HAVE_SETLOCALE
313
314 /* Define to 1 if you have the `setresuid' function. */
315 #undef HAVE_SETRESUID
316
317 /* Define to 1 if you have the `setreuid' function. */
318 #undef HAVE_SETREUID
319
320 /* Define to 1 if you have the `setrlimit' function. */
321 #undef HAVE_SETRLIMIT
322
323 /* Define to 1 if you have the `set_auth_parameters' function. */
324 #undef HAVE_SET_AUTH_PARAMETERS
325
326 /* Define to 1 if you use SIA authentication. */
327 #undef HAVE_SIA
328
329 /* Define to 1 if you have the `sia_ses_init' function. */
330 #undef HAVE_SIA_SES_INIT
331
332 /* Define to 1 if you have the `sigaction' function. */
333 #undef HAVE_SIGACTION
334
335 /* Define to 1 if <signal.h> has the sigaction_t typedef. */
336 #undef HAVE_SIGACTION_T
337
338 /* Define to 1 if the system has the type `sig_atomic_t'. */
339 #undef HAVE_SIG_ATOMIC_T
340
341 /* Define to 1 if you use S/Key. */
342 #undef HAVE_SKEY
343
344 /* Define to 1 if your S/Key library has skeyaccess(). */
345 #undef HAVE_SKEYACCESS
346
347 /* Define to 1 if you have the `snprintf' function. */
348 #undef HAVE_SNPRINTF
349
350 /* Define to 1 if you have the <stdint.h> header file. */
351 #undef HAVE_STDINT_H
352
353 /* Define to 1 if you have the <stdlib.h> header file. */
354 #undef HAVE_STDLIB_H
355
356 /* Define to 1 if you have the `strcasecmp' function. */
357 #undef HAVE_STRCASECMP
358
359 /* Define to 1 if you have the `strchr' function. */
360 #undef HAVE_STRCHR
361
362 /* Define to 1 if you have the `strerror' function. */
363 #undef HAVE_STRERROR
364
365 /* Define to 1 if you have the `strftime' function. */
366 #undef HAVE_STRFTIME
367
368 /* Define to 1 if you have the <strings.h> header file. */
369 #undef HAVE_STRINGS_H
370
371 /* Define to 1 if you have the <string.h> header file. */
372 #undef HAVE_STRING_H
373
374 /* Define to 1 if you have the `strlcat' function. */
375 #undef HAVE_STRLCAT
376
377 /* Define to 1 if you have the `strlcpy' function. */
378 #undef HAVE_STRLCPY
379
380 /* Define to 1 if you have the `strrchr' function. */
381 #undef HAVE_STRRCHR
382
383 /* Define to 1 if your struct stat has an st_mtim member */
384 #undef HAVE_ST_MTIM
385
386 /* Define to 1 if your struct stat uses an st__tim union */
387 #undef HAVE_ST__TIM
388
389 /* Define to 1 if your struct stat has an st_mtimespec member */
390 #undef HAVE_ST_MTIMESPEC
391
392 /* Define to 1 if you have the `sysconf' function. */
393 #undef HAVE_SYSCONF
394
395 /* Define to 1 if you have the <sys/bsdtypes.h> header file. */
396 #undef HAVE_SYS_BSDTYPES_H
397
398 /* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
399    */
400 #undef HAVE_SYS_DIR_H
401
402 /* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
403    */
404 #undef HAVE_SYS_NDIR_H
405
406 /* Define to 1 if you have the <sys/select.h> header file. */
407 #undef HAVE_SYS_SELECT_H
408
409 /* Define to 1 if you have the <sys/sockio.h> header file. */
410 #undef HAVE_SYS_SOCKIO_H
411
412 /* Define to 1 if you have the <sys/stat.h> header file. */
413 #undef HAVE_SYS_STAT_H
414
415 /* Define to 1 if you have the <sys/types.h> header file. */
416 #undef HAVE_SYS_TYPES_H
417
418 /* Define to 1 if you have the <termios.h> header file and the `tcgetattr'
419    function. */
420 #undef HAVE_TERMIOS_H
421
422 /* Define to 1 if you have the <termio.h> header file. */
423 #undef HAVE_TERMIO_H
424
425 /* Define to 1 if you have struct timespec in sys/time.h */
426 #undef HAVE_TIMESPEC
427
428 /* Define to 1 if you have a timespecsub macro or function that takes two
429    arguments (not three) */
430 #undef HAVE_TIMESPECSUB2
431
432 /* Define to 1 if you have the `tzset' function. */
433 #undef HAVE_TZSET
434
435 /* Define to 1 if you have the <unistd.h> header file. */
436 #undef HAVE_UNISTD_H
437
438 /* Define to 1 if you have the `utimes' function. */
439 #undef HAVE_UTIMES
440
441 /* Define to 1 if you have the <utime.h> header file. */
442 #undef HAVE_UTIME_H
443
444 /* Define to 1 if you have the `vasprintf' function. */
445 #undef HAVE_VASPRINTF
446
447 /* Define to 1 if you have the `vsnprintf' function. */
448 #undef HAVE_VSNPRINTF
449
450 /* Define to 1 if you have the `wait3' function. */
451 #undef HAVE_WAIT3
452
453 /* Define to 1 if you have the `waitpid' function. */
454 #undef HAVE_WAITPID
455
456 /* Define to 1 if you have the `_innetgr' function. */
457 #undef HAVE__INNETGR
458
459 /* Define to 1 if your crt0.o defines the __progname symbol for you. */
460 #undef HAVE___PROGNAME
461
462 /* Define to 1 if you want the hostname to be entered into the log file. */
463 #undef HOST_IN_LOG
464
465 /* Define to 1 if you want to ignore '.' and empty PATH elements */
466 #undef IGNORE_DOT_PATH
467
468 /* The message given when a bad password is entered. */
469 #undef INCORRECT_PASSWORD
470
471 /* The syslog facility sudo will use. */
472 #undef LOGFAC
473
474 /* Define to SLOG_SYSLOG, SLOG_FILE, or SLOG_BOTH. */
475 #undef LOGGING
476
477 /* Define if sizeof(long) == sizeof(long long). */
478 #undef LONG_IS_QUAD
479
480 /* Define to 1 if you want a two line OTP (S/Key or OPIE) prompt. */
481 #undef LONG_OTP_PROMPT
482
483 /* Define to the sub-directory in which libtool stores uninstalled libraries.
484    */
485 #undef LT_OBJDIR
486
487 /* The subject of the mail sent by sudo to the MAILTO user/address. */
488 #undef MAILSUBJECT
489
490 /* The user or email address that sudo mail is sent to. */
491 #undef MAILTO
492
493 /* The max number of chars per log file line (for line wrapping). */
494 #undef MAXLOGFILELEN
495
496 /* Define to the max length of a uid_t in string context (excluding the NUL).
497    */
498 #undef MAX_UID_T_LEN
499
500 /* Define to 1 if you don't want sudo to prompt for a password by default. */
501 #undef NO_AUTHENTICATION
502
503 /* Define to 1 if you don't want users to get the lecture the first they user
504    sudo. */
505 #undef NO_LECTURE
506
507 /* Define to 1 if you don't want to use sudo's PAM session support. */
508 #undef NO_PAM_SESSION
509
510 /* Define to avoid runing the mailer as root. */
511 #undef NO_ROOT_MAILER
512
513 /* Define to 1 if root should not be allowed to use sudo. */
514 #undef NO_ROOT_SUDO
515
516 /* The default password prompt. */
517 #undef PASSPROMPT
518
519 /* The passwd prompt timeout (in minutes). */
520 #undef PASSWORD_TIMEOUT
521
522 /* Define to 1 to replace politically incorrect insults with less offensive
523    ones. */
524 #undef PC_INSULTS
525
526 /* The syslog priority sudo will use for unsuccessful attempts/errors. */
527 #undef PRI_FAILURE
528
529 /* The syslog priority sudo will use for successful attempts. */
530 #undef PRI_SUCCESS
531
532 /* Define as the return type of signal handlers (`int' or `void'). */
533 #undef RETSIGTYPE
534
535 /* The user sudo should run commands as by default. */
536 #undef RUNAS_DEFAULT
537
538 /* Define to 1 to override the user's path with a built-in one. */
539 #undef SECURE_PATH
540
541 /* Define to 1 to send mail when the user is not allowed to run a command. */
542 #undef SEND_MAIL_WHEN_NOT_OK
543
544 /* Define to 1 to send mail when the user is not allowed to run sudo on this
545    host. */
546 #undef SEND_MAIL_WHEN_NO_HOST
547
548 /* Define to 1 to send mail when the user is not in the sudoers file. */
549 #undef SEND_MAIL_WHEN_NO_USER
550
551 /* Define to 1 if you want sudo to start a shell if given no arguments. */
552 #undef SHELL_IF_NO_ARGS
553
554 /* Define to 1 if you want sudo to set $HOME in shell mode. */
555 #undef SHELL_SETS_HOME
556
557 /* If using the C implementation of alloca, define if you know the
558    direction of stack growth for your system; otherwise it will be
559    automatically deduced at run-time.
560         STACK_DIRECTION > 0 => grows toward higher addresses
561         STACK_DIRECTION < 0 => grows toward lower addresses
562         STACK_DIRECTION = 0 => direction of growth unknown */
563 #undef STACK_DIRECTION
564
565 /* Define to 1 if you have the ANSI C header files. */
566 #undef STDC_HEADERS
567
568 /* Define to 1 if the code in interfaces.c does not compile for you. */
569 #undef STUB_LOAD_INTERFACES
570
571 /* The umask that the root-run prog should use. */
572 #undef SUDO_UMASK
573
574 /* The number of minutes before sudo asks for a password again. */
575 #undef TIMEOUT
576
577 /* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
578 #undef TIME_WITH_SYS_TIME
579
580 /* The number of tries a user gets to enter their password. */
581 #undef TRIES_FOR_PASSWORD
582
583 /* Define to 1 if you want to insult the user for entering an incorrect
584    password. */
585 #undef USE_INSULTS
586
587 /* Define to 1 if you use GNU stow packaging. */
588 #undef USE_STOW
589
590 /* Define to 1 if you want a different ticket file for each tty. */
591 #undef USE_TTY_TICKETS
592
593 /* Define to "void" if your compiler supports void pointers, else use "char".
594    */
595 #undef VOID
596
597 /* Define to avoid using the passwd/shadow file for authentication. */
598 #undef WITHOUT_PASSWD
599
600 /* Path to the ldap.conf file */
601 #undef _PATH_LDAP_CONF
602
603 /* Path to the ldap.secret file */
604 #undef _PATH_LDAP_SECRET
605
606 /* The fully qualified pathname of sudo_noexec.so */
607 #undef _PATH_SUDO_NOEXEC
608
609 /* Define to empty if `const' does not conform to ANSI C. */
610 #undef const
611
612 /* Define if your system lacks the dev_t type. */
613 #undef dev_t
614
615 /* Define to `int' if <sys/types.h> doesn't define. */
616 #undef gid_t
617
618 /* Define if your system lacks the ino_t type. */
619 #undef ino_t
620
621 /* Define to `int' if <sys/types.h> does not define. */
622 #undef mode_t
623
624 /* Define to `int' if <signal.h> does not define. */
625 #undef sig_atomic_t
626
627 /* Define if your system lacks the size_t type. */
628 #undef size_t
629
630 /* Define if your system lacks the ssize_t type. */
631 #undef ssize_t
632
633 /* Define to `int' if <sys/types.h> doesn't define. */
634 #undef uid_t
635
636 /* Define to the type of elements in the array set by `getgroups'.
637    Usually this is either `int' or `gid_t'. */
638 #undef GETGROUPS_T
639
640 /* Define to empty if the keyword `volatile' does not work. Warning: valid
641    code using `volatile' can become incorrect without. Disable with care. */
642 #undef volatile
643
644 /*
645  * Macros to pull sec and nsec parts of mtime from struct stat.
646  * We need to be able to convert between timeval and timespec
647  * so the last 3 digits of tv_nsec are not significant.
648  */
649 #ifdef HAVE_ST_MTIM
650 # ifdef HAVE_ST__TIM
651 #  define mtim_getsec(_x)       ((_x).st_mtim.st__tim.tv_sec)
652 #  define mtim_getnsec(_x)      (((_x).st_mtim.st__tim.tv_nsec / 1000) * 1000)
653 # else
654 #  define mtim_getsec(_x)       ((_x).st_mtim.tv_sec)
655 #  define mtim_getnsec(_x)      (((_x).st_mtim.tv_nsec / 1000) * 1000)
656 # endif
657 #else
658 # ifdef HAVE_ST_MTIMESPEC
659 #  define mtim_getsec(_x)       ((_x).st_mtimespec.tv_sec)
660 #  define mtim_getnsec(_x)      (((_x).st_mtimespec.tv_nsec / 1000) * 1000)
661 # else
662 #  define mtim_getsec(_x)       ((_x).st_mtime)
663 #  define mtim_getnsec(_x)      (0)
664 # endif /* HAVE_ST_MTIMESPEC */
665 #endif /* HAVE_ST_MTIM */
666
667 /*
668  * Emulate a subset of waitpid() if we don't have it.
669  */
670 #ifdef HAVE_WAITPID
671 # define sudo_waitpid(p, s, o)  waitpid(p, s, o)
672 #else
673 # ifdef HAVE_WAIT3
674 #  define sudo_waitpid(p, s, o) wait3(s, o, NULL)
675 # endif
676 #endif
677
678 /* GNU stow needs /etc/sudoers to be a symlink. */
679 #ifdef USE_STOW
680 # define stat_sudoers   stat
681 #else
682 # define stat_sudoers   lstat
683 #endif
684
685 /* Macros to set/clear/test flags. */
686 #undef SET
687 #define SET(t, f)       ((t) |= (f))
688 #undef CLR
689 #define CLR(t, f)       ((t) &= ~(f))
690 #undef ISSET
691 #define ISSET(t, f)     ((t) & (f))
692
693 /* New ANSI-style OS defs for HP-UX and ConvexOS. */
694 #if defined(hpux) && !defined(__hpux)
695 # define __hpux         1
696 #endif /* hpux */
697
698 #if defined(convex) && !defined(__convex__)
699 # define __convex__     1
700 #endif /* convex */
701
702 /* BSD compatibility on some SVR4 systems. */
703 #ifdef __svr4__
704 # define BSD_COMP
705 #endif /* __svr4__ */
706
707 #endif /* _SUDO_CONFIG_H */