Fix build for non-Linux platforms having openat.
[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 #define EXIM_HAVE_OPENAT
10
11
12 #define F_FREESP     O_TRUNC
13 typedef struct flock flock_t;
14
15 #define BASE_62 36  /* HFS+ aliases lower and upper cases in filenames.
16                                Consider reducing MAX_LOCALHOST_NUMBER */
17
18 #ifndef        _BSD_SOCKLEN_T_
19 # define _BSD_SOCKLEN_T_ int32_t                 /* socklen_t (duh) */
20 #endif
21
22 /* Settings for handling IP options. There's no netinet/ip_var.h. The IP
23 option handling is in the style of the later GLIBCs but the GLIBC macros
24 aren't set, so we invent a new one. */
25
26 #define NO_IP_VAR_H
27 #define DARWIN_IP_OPTIONS
28
29 /* Need this for the DNS lookup code. Remember to remove if we get round to
30 updating Exim to use the newer interface. */
31
32 #define BIND_8_COMPAT
33
34 /* It's not .so for dynamic libraries on Darwin. */
35 #define DYNLIB_FN_EXT "dylib"
36
37 /* We currently need some assistance getting OFF_T_FMT correct on MacOS */
38 #ifdef OFF_T_FMT
39 # undef OFF_T_FMT
40 #endif
41 #define OFF_T_FMT "%lld"
42 #define LONGLONG_T long int
43
44 /* default is non-const */
45 #define ICONV_ARG2_TYPE const char **
46
47 /* seems arpa/nameser.h does not define this */
48 #define NS_MAXMSG 65535
49
50 /* There may be very many supplementary groups for the user. See notes
51 in "man 2 getgroups". */
52 #define _DARWIN_UNLIMITED_GETGROUPS
53 #define EXIM_GROUPLIST_SIZE 64
54
55 /* TCP Fast Open: Darwin uses a connectx() call
56 rather than a modified sendto() */
57 #define EXIM_TFO_CONNECTX
58
59 /* End */