Cautiously added ENABLE_DISABLE_FSYNC and disable_fsync, hedged about
[exim.git] / src / src / exim.h
index 85571f62ffaf927148c253d98edbfffdbe390db5..8fa6959c82f4c97dd2d77e6a624bee68bd72c9e1 100644 (file)
@@ -1,10 +1,10 @@
-/* $Cambridge: exim/src/src/exim.h,v 1.17 2005/06/29 10:56:35 ph10 Exp $ */
+/* $Cambridge: exim/src/src/exim.h,v 1.22 2007/01/22 16:29:54 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
 *************************************************/
 
-/* Copyright (c) University of Cambridge 1995 - 2005 */
+/* Copyright (c) University of Cambridge 1995 - 2007 */
 /* See the file NOTICE for conditions of use and distribution. */
 
 
@@ -75,6 +75,14 @@ making unique names. */
 #define INT_MAX 2147483647
 #endif
 
+#ifndef INT_MIN
+#define INT_MIN (-INT_MAX - 1)
+#endif
+
+#ifndef SHRT_MAX
+#define SHRT_MAX 32767
+#endif
+
 #ifndef UCHAR_MAX
 #define UCHAR_MAX 255
 #endif
@@ -417,9 +425,8 @@ extern int ferror(FILE *);
 #include "pcre/pcre.h"
 
 /* Exim includes are in several files. Note that local_scan.h #includes
-mytypes.h and store.h, so we don't need to mention them explicitly. */
-
-#include "config.h"
+config.h, mytypes.h, and store.h, so we don't need to mention them explicitly.
+*/
 
 #include "local_scan.h"
 #include "macros.h"
@@ -454,6 +461,12 @@ requires various things that are set therein. */
 #include <dlfcn.h>
 #endif
 
+#ifdef ENABLE_DISABLE_FSYNC
+#define EXIMfsync(f) (disable_fsync? 0 : fsync(f))
+#else
+#define EXIMfsync(f) fsync(f)
+#endif
+
 /* Backward compatibility; LOOKUP_LSEARCH now includes all three */
 
 #if (!defined LOOKUP_LSEARCH) && (defined LOOKUP_WILDLSEARCH || defined LOOKUP_NWILDLSEARCH)