65 lines
1.9 KiB
Text
65 lines
1.9 KiB
Text
/* Exim: OS-specific C header file for Darwin (Mac OS X) */
|
|
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
|
|
/* #define CRYPT_H */ /* Apparently this isn't needed */
|
|
|
|
#define HAVE_MMAP
|
|
#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;
|
|
|
|
#define BASE_62 36 /* HFS+ aliases lower and upper cases in filenames.
|
|
Consider reducing MAX_LOCALHOST_NUMBER */
|
|
|
|
#ifndef _BSD_SOCKLEN_T_
|
|
# define _BSD_SOCKLEN_T_ int32_t /* socklen_t (duh) */
|
|
#endif
|
|
|
|
/* Settings for handling IP options. There's no netinet/ip_var.h. The IP
|
|
option handling is in the style of the later GLIBCs but the GLIBC macros
|
|
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 */
|