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