08f2dcaa56e71cd13f565d89d504053dbde432dd
[users/heiko/exim.git] / src / OS / os.h-OpenBSD
1 /* Exim: OS-specific C header file for OpenBSD */
2 /* Copyright (c) University of Cambridge 1995 - 2018 */
3 /* See the file NOTICE for conditions of use and distribution. */
4
5
6 #define HAVE_BSD_GETLOADAVG
7 #define HAVE_MMAP
8 #define HAVE_SYS_MOUNT_H
9 #define SIOCGIFCONF_GIVES_ADDR
10 #define EXIM_HAVE_OPENAT
11 #define EXIM_HAVE_FUTIMENS
12 #define HAVE_ARC4RANDOM
13 /* In May 2014, OpenBSD 5.5 was released which cleaned up the arc4random_* API
14    which removed the arc4random_stir() function. Set NOT_HAVE_ARC4RANDOM_STIR
15    if the version released is past that point. */
16 #include <sys/param.h>
17 #if OpenBSD >= 201405
18 # define NOT_HAVE_ARC4RANDOM_STIR
19 #endif
20
21 typedef struct flock flock_t;
22
23 #define os_strsignal strsignal
24 #define OS_STRSIGNAL
25
26 typedef struct __res_state *res_state;
27
28 /* default is non-const */
29 #define ICONV_ARG2_TYPE const char **
30
31 #ifndef EPROTO
32 # define EPROTO 71
33 #endif
34
35 /* We need to force this; the automatic in buildconfig.c gets %ld */
36 #ifdef OFF_T_FMT
37 # undef OFF_T_FMT
38 # undef LONGLONG_T
39 #endif
40 #define OFF_T_FMT "%lld"
41 #define LONGLONG_T long long int
42
43 #ifdef PID_T_FMT
44 # undef PID_T_FMT
45 #endif
46 #define PID_T_FMT "%d"
47
48 #ifdef INO_T_FMT
49 # undef INO_T_FMT
50 #endif
51 #define INO_T_FMT "%llu"
52
53 #ifdef TIME_T_FMT
54 # undef TIME_T_FMT
55 #endif
56 #define TIME_T_FMT "%lld"
57
58 /* seems arpa/nameser.h does not define this.
59 Space-constrained devices could use much smaller; a few k. */
60 #define NS_MAXMSG 65535
61
62 #define EXIM_HAVE_KEVENT
63
64 /* End */