X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/61ec970df30325dbcd8c9d0f0e431dc793126656..2081aac24b67f3f3f34389aadc06354abcad0cad:/src/OS/os.h-Darwin diff --git a/src/OS/os.h-Darwin b/src/OS/os.h-Darwin index 3a716376d..a85e92f05 100644 --- a/src/OS/os.h-Darwin +++ b/src/OS/os.h-Darwin @@ -1,5 +1,3 @@ -/* $Cambridge: exim/src/OS/os.h-Darwin,v 1.1 2004/10/06 15:07:39 ph10 Exp $ */ - /* Exim: OS-specific C header file for Darwin (Mac OS X) */ /* #define CRYPT_H */ /* Apparently this isn't needed */ @@ -8,6 +6,8 @@ #define HAVE_SYS_MOUNT_H #define PAM_H_IN_PAM #define SIOCGIFCONF_GIVES_ADDR +#define EXIM_HAVE_OPENAT + #define F_FREESP O_TRUNC typedef struct flock flock_t; @@ -16,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 @@ -26,4 +26,39 @@ aren't set, so we invent a new one. */ #define NO_IP_VAR_H #define DARWIN_IP_OPTIONS +/* Need this for the DNS lookup code. Remember to remove if we get round to +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 + +/* MacOS, at least on the buildfarm animal, does not seem to push out +the SMTP response to QUIT with our usual handling which is trying to get +the client to FIN first so that the server does not get the TIME_WAIT */ +#define SERVERSIDE_CLOSE_NOWAIT + /* End */