Events: dns:fail Bug 3011
[exim.git] / src / OS / os.h-OpenBSD
index 55bade674a1da417887ef92b53a22ca5cbc14f55..19db7189a1c9ff08d88894084fe5a5d39ff6c88a 100644 (file)
@@ -1,10 +1,24 @@
 /* Exim: OS-specific C header file for OpenBSD */
 /* Exim: OS-specific C header file for OpenBSD */
+/* Copyright (c) University of Cambridge 1995 - 2018 */
+/* Copyright (c) The Exim Maintainers 2021 */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/* See the file NOTICE for conditions of use and distribution. */
+
 
 #define HAVE_BSD_GETLOADAVG
 #define HAVE_MMAP
 #define HAVE_SYS_MOUNT_H
 
 #define HAVE_BSD_GETLOADAVG
 #define HAVE_MMAP
 #define HAVE_SYS_MOUNT_H
-#define SIOCGIFCONF_GIVES_ADDR
+#define HAVE_GETIFADDRS
+#define EXIM_HAVE_OPENAT
+#define EXIM_HAVE_FUTIMENS
 #define HAVE_ARC4RANDOM
 #define HAVE_ARC4RANDOM
+/* In May 2014, OpenBSD 5.5 was released which cleaned up the arc4random_* API
+   which removed the arc4random_stir() function. Set NOT_HAVE_ARC4RANDOM_STIR
+   if the version released is past that point. */
+#include <sys/param.h>
+#if OpenBSD >= 201405
+# define NOT_HAVE_ARC4RANDOM_STIR
+#endif
 
 typedef struct flock flock_t;
 
 
 typedef struct flock flock_t;
 
@@ -13,4 +27,40 @@ typedef struct flock flock_t;
 
 typedef struct __res_state *res_state;
 
 
 typedef struct __res_state *res_state;
 
+/* default is non-const */
+#define ICONV_ARG2_TYPE const char **
+
+#ifndef EPROTO
+# define EPROTO 71
+#endif
+
+/* We need to force this; the automatic in buildconfig.c gets %ld */
+#ifdef OFF_T_FMT
+# undef OFF_T_FMT
+# undef LONGLONG_T
+#endif
+#define OFF_T_FMT "%lld"
+#define LONGLONG_T long long int
+
+#ifdef PID_T_FMT
+# undef PID_T_FMT
+#endif
+#define PID_T_FMT "%d"
+
+#ifdef INO_T_FMT
+# undef INO_T_FMT
+#endif
+#define INO_T_FMT "%llu"
+
+#ifdef TIME_T_FMT
+# undef TIME_T_FMT
+#endif
+#define TIME_T_FMT "%lld"
+
+/* seems arpa/nameser.h does not define this.
+Space-constrained devices could use much smaller; a few k. */
+#define NS_MAXMSG 65535
+
+#define EXIM_HAVE_KEVENT
+
 /* End */
 /* End */