Build: probe for broken poll() timing implementation
[exim.git] / src / OS / os.h-Darwin
1 /* Exim: OS-specific C header file for Darwin (Mac OS X) */
2
3 /* #define CRYPT_H */ /* Apparently this isn't needed */
4
5 #define HAVE_MMAP
6 #define HAVE_SYS_MOUNT_H
7 #define PAM_H_IN_PAM
8 #define SIOCGIFCONF_GIVES_ADDR
9
10
11 #define F_FREESP O_TRUNC
12 typedef struct flock flock_t;
13
14 #define BASE_62 36 /* HFS+ aliases lower and upper cases in filenames.
15 Consider reducing MAX_LOCALHOST_NUMBER */
16
17 #ifndef _BSD_SOCKLEN_T_
18 # define _BSD_SOCKLEN_T_ int32_t /* socklen_t (duh) */
19 #endif
20
21 /* Settings for handling IP options. There's no netinet/ip_var.h. The IP
22 option handling is in the style of the later GLIBCs but the GLIBC macros
23 aren't set, so we invent a new one. */
24
25 #define NO_IP_VAR_H
26 #define DARWIN_IP_OPTIONS
27
28 /* Need this for the DNS lookup code. Remember to remove if we get round to
29 updating Exim to use the newer interface. */
30
31 #define BIND_8_COMPAT
32
33 /* It's not .so for dynamic libraries on Darwin. */
34 #define DYNLIB_FN_EXT "dylib"
35
36 /* We currently need some assistance getting OFF_T_FMT correct on MacOS */
37 #ifdef OFF_T_FMT
38 # undef OFF_T_FMT
39 #endif
40 #define OFF_T_FMT "%lld"
41 #define LONGLONG_T long int
42
43 /* default is non-const */
44 #define ICONV_ARG2_TYPE const char **
45
46 /* seems arpa/nameser.h does not define this */
47 #define NS_MAXMSG 65535
48
49 /* There may be very many supplementary groups for the user. See notes
50 in "man 2 getgroups". */
51 #define _DARWIN_UNLIMITED_GETGROUPS
52 #define EXIM_GROUPLIST_SIZE 64
53
54 /* TCP_FASTOPEN support. For the moment, claim there is none
55 (the probe fails; unsure why).
56 Sometime in the future need to investigate connectex(). */
57
58 #define EXIM_TFO_PROBE
59
60 /* End */