Fix build for non-Linux platforms having openat.
[users/heiko/exim.git] / src / OS / os.h-Darwin
index c6865d296d70d9d1a894a429963309a181b98547..1a557d829ef5dcbfa3c18363a5a3be1b51c2c0f6 100644 (file)
@@ -1,5 +1,3 @@
-/* $Cambridge: exim/src/OS/os.h-Darwin,v 1.3 2005/08/08 10:29:08 ph10 Exp $ */
-
 /* Exim: OS-specific C header file for Darwin (Mac OS X) */
 
 /* #define CRYPT_H */  /* Apparently this isn't needed */
@@ -8,9 +6,8 @@
 #define HAVE_SYS_MOUNT_H
 #define PAM_H_IN_PAM
 #define SIOCGIFCONF_GIVES_ADDR
+#define EXIM_HAVE_OPENAT
 
-/* OSX 10.2 does not have poll.h, 10.3 does emulate it badly. */
-#define NO_POLL_H
 
 #define F_FREESP     O_TRUNC
 typedef struct flock flock_t;
@@ -19,7 +16,7 @@ typedef struct flock flock_t;
                                Consider reducing MAX_LOCALHOST_NUMBER */
 
 #ifndef        _BSD_SOCKLEN_T_
-#define _BSD_SOCKLEN_T_ int32_t                 /* socklen_t (duh) */
+# define _BSD_SOCKLEN_T_ int32_t                 /* socklen_t (duh) */
 #endif
 
 /* Settings for handling IP options. There's no netinet/ip_var.h. The IP
@@ -34,4 +31,29 @@ updating Exim to use the newer interface. */
 
 #define BIND_8_COMPAT
 
+/* It's not .so for dynamic libraries on Darwin. */
+#define DYNLIB_FN_EXT "dylib"
+
+/* We currently need some assistance getting OFF_T_FMT correct on MacOS */
+#ifdef OFF_T_FMT
+# undef OFF_T_FMT
+#endif
+#define OFF_T_FMT "%lld"
+#define LONGLONG_T long int
+
+/* default is non-const */
+#define ICONV_ARG2_TYPE const char **
+
+/* seems arpa/nameser.h does not define this */
+#define NS_MAXMSG 65535
+
+/* There may be very many supplementary groups for the user. See notes
+in "man 2 getgroups". */
+#define _DARWIN_UNLIMITED_GETGROUPS
+#define EXIM_GROUPLIST_SIZE 64
+
+/* TCP Fast Open: Darwin uses a connectx() call
+rather than a modified sendto() */
+#define EXIM_TFO_CONNECTX
+
 /* End */