diff src/sysfile.h @ 410:de805c49cfc1 r21-2-35

Import from CVS: tag r21-2-35
author cvs
date Mon, 13 Aug 2007 11:19:21 +0200
parents 2f8bb876ab1d
children 697ef44129c6
line wrap: on
line diff
--- a/src/sysfile.h	Mon Aug 13 11:18:12 2007 +0200
+++ b/src/sysfile.h	Mon Aug 13 11:19:21 2007 +0200
@@ -24,9 +24,8 @@
 #define INCLUDED_sysfile_h_
 
 #include <errno.h>
-#include <limits.h>
 
-#ifndef WINDOWSNT
+#ifndef WIN32_NATIVE
 #include <sys/errno.h>          /* <errno.h> does not always imply this */
 #endif
 
@@ -44,17 +43,24 @@
 #ifndef makedev
 #include <sys/types.h>		/* some typedefs are used in sys/file.h */
 #endif
+
+#ifndef WIN32_NATIVE
 #include <sys/file.h>
+#endif
+
 #include <sys/stat.h>
+
+#ifndef WIN32_NATIVE
 #include <sys/param.h>
+#endif
 
-#if defined (NeXT) || defined(__CYGWIN32__)
+#if defined (NeXT) || defined(CYGWIN)
 /* what is needed from here?  Do others need it too?
  O_BINARY is in here under cygwin. */
 # include <sys/fcntl.h>
 #endif /* NeXT */
 
-#ifdef WINDOWSNT
+#ifdef WIN32_NATIVE
 #include <io.h>
 #include <direct.h>
 #endif
@@ -95,7 +101,7 @@
 #endif
 
 #ifndef CREAT_MODE
-#ifdef WINDOWSNT
+#ifdef WIN32_NATIVE
 #define CREAT_MODE	(S_IREAD | S_IWRITE)
 #else
 #define CREAT_MODE	(0666)
@@ -118,6 +124,30 @@
 #endif
 #endif
 
+#ifndef READ_PLUS_TEXT
+#ifdef O_TEXT
+#define READ_PLUS_TEXT "r+t"
+#else
+#define READ_PLUS_TEXT "r+"
+#endif
+#endif
+
+#ifndef READ_PLUS_BINARY
+#ifdef O_BINARY
+#define READ_PLUS_BINARY "r+b"
+#else
+#define READ_PLUS_BINARY "r+"
+#endif
+#endif
+
+#ifndef WRITE_TEXT
+#ifdef O_TEXT
+#define WRITE_TEXT "wt"
+#else
+#define WRITE_TEXT "w"
+#endif
+#endif
+
 #ifndef WRITE_BINARY
 #ifdef O_BINARY
 #define WRITE_BINARY "wb"
@@ -223,8 +253,21 @@
 # define MAXPATHLEN 1024
 #endif
 
+/* The following definitions are needed under Windows, at least */
 #ifndef X_OK
-# define X_OK 01
+# define X_OK 1
+#endif
+
+#ifndef R_OK
+# define R_OK 4
+#endif
+
+#ifndef W_OK
+# define W_OK 2
+#endif
+
+#ifndef F_OK
+# define F_OK 0
 #endif
 
 #ifndef FD_CLOEXEC