X-Git-Url: http://git.chise.org/gitweb/?p=chise%2Fxemacs-chise.git.1;a=blobdiff_plain;f=src%2Fsysfile.h;h=25c009d9e58af0c47a9c0e6afe133b556ed67c4c;hp=cc8f2de737fd8bb4465c675d4df64252af4083d6;hb=02f4d2761a98c5cb9d5b423d2361160a5d8c9ee4;hpb=ea21eb75bbf90355514d65686bd53bea579f8e23 diff --git a/src/sysfile.h b/src/sysfile.h index cc8f2de..25c009d 100644 --- a/src/sysfile.h +++ b/src/sysfile.h @@ -20,9 +20,12 @@ Boston, MA 02111-1307, USA. */ /* Synched up with: Not really in FSF. */ +#ifndef INCLUDED_sysfile_h_ +#define INCLUDED_sysfile_h_ + #include -#ifndef WINDOWSNT +#ifndef WIN32_NATIVE #include /* does not always imply this */ #endif @@ -40,17 +43,31 @@ Boston, MA 02111-1307, USA. */ #ifndef makedev #include /* some typedefs are used in sys/file.h */ #endif + +#ifndef WIN32_NATIVE #include +#endif + #include + +#ifndef WIN32_NATIVE +/* Some configuration files' definitions for the LOAD_AVE_CVT macro + (like sparc.h's) use macros like FSCALE, defined here. */ +#ifdef HAVE_GTK +/* I hate GTK */ +#undef MIN +#undef MAX +#endif /* HAVE_GTK */ #include +#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 #endif /* NeXT */ -#ifdef WINDOWSNT +#ifdef WIN32_NATIVE #include #include #endif @@ -91,7 +108,7 @@ Boston, MA 02111-1307, USA. */ #endif #ifndef CREAT_MODE -#ifdef WINDOWSNT +#ifdef WIN32_NATIVE #define CREAT_MODE (S_IREAD | S_IWRITE) #else #define CREAT_MODE (0666) @@ -114,6 +131,30 @@ Boston, MA 02111-1307, USA. */ #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" @@ -134,10 +175,10 @@ Boston, MA 02111-1307, USA. */ In that case, use ordinary stat instead. */ #ifndef S_IFLNK -#define lstat stat +#define lstat xemacs_stat #endif -#if !S_IRUSR +#ifndef S_IRUSR # if S_IREAD # define S_IRUSR S_IREAD # else @@ -145,7 +186,7 @@ Boston, MA 02111-1307, USA. */ # endif #endif -#if !S_IWUSR +#ifndef S_IWUSR # if S_IWRITE # define S_IWUSR S_IWRITE # else @@ -153,7 +194,7 @@ Boston, MA 02111-1307, USA. */ # endif #endif -#if !S_IXUSR +#ifndef S_IXUSR # if S_IEXEC # define S_IXUSR S_IEXEC # else @@ -203,17 +244,37 @@ Boston, MA 02111-1307, USA. */ #define S_ISNWK(m) (((m) & S_IFMT) == S_IFNWK) #endif -#if !defined (USG) && !defined (WINDOWSNT) -# define HAVE_FSYNC +/* Client .c files should simply use `PATH_MAX'. */ +#ifndef PATH_MAX +# if defined (_POSIX_PATH_MAX) +# define PATH_MAX _POSIX_PATH_MAX +# elif defined (MAXPATHLEN) +# define PATH_MAX MAXPATHLEN +# else +# define PATH_MAX 1024 +# endif #endif +/* MAXPATHLEN is deprecated, but, as of this writing, still used. */ #ifndef MAXPATHLEN -/* in 4.1, param.h fails to define this. */ -#define MAXPATHLEN 1024 -#endif /* not MAXPATHLEN */ +# 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 @@ -255,7 +316,7 @@ ssize_t sys_read (int, void *, size_t); #endif #ifdef ENCAPSULATE_WRITE -ssize_t sys_write (int, CONST void *, size_t); +ssize_t sys_write (int, const void *, size_t); #endif #if defined (ENCAPSULATE_WRITE) && !defined (DONT_ENCAPSULATE) # undef write @@ -266,7 +327,7 @@ ssize_t sys_write (int, CONST void *, size_t); #endif #ifdef ENCAPSULATE_OPEN -int sys_open (CONST char *, int, ...); +int sys_open (const char *, int, ...); #endif #if defined (ENCAPSULATE_OPEN) && !defined (DONT_ENCAPSULATE) # undef open @@ -301,7 +362,7 @@ size_t sys_fread (void *, size_t, size_t, FILE *); #endif #ifdef ENCAPSULATE_FWRITE -size_t sys_fwrite (CONST void *, size_t, size_t, FILE *); +size_t sys_fwrite (const void *, size_t, size_t, FILE *); #endif #if defined (ENCAPSULATE_FWRITE) && !defined (DONT_ENCAPSULATE) # undef fwrite @@ -312,7 +373,7 @@ size_t sys_fwrite (CONST void *, size_t, size_t, FILE *); #endif #ifdef ENCAPSULATE_FOPEN -FILE *sys_fopen (CONST char *, CONST char *); +FILE *sys_fopen (const char *, const char *); #endif #if defined (ENCAPSULATE_FOPEN) && !defined (DONT_ENCAPSULATE) # undef fopen @@ -337,7 +398,7 @@ int sys_fclose (FILE *); /* encapsulations: file-information calls */ #ifdef ENCAPSULATE_ACCESS -int sys_access (CONST char *path, int mode); +int sys_access (const char *path, int mode); #endif #if defined (ENCAPSULATE_ACCESS) && !defined (DONT_ENCAPSULATE) # undef access @@ -348,7 +409,7 @@ int sys_access (CONST char *path, int mode); #endif #ifdef ENCAPSULATE_EACCESS -int sys_eaccess (CONST char *path, int mode); +int sys_eaccess (const char *path, int mode); #endif #if defined (ENCAPSULATE_EACCESS) && !defined (DONT_ENCAPSULATE) # undef eaccess @@ -359,7 +420,7 @@ int sys_eaccess (CONST char *path, int mode); #endif #ifdef ENCAPSULATE_LSTAT -int sys_lstat (CONST char *path, struct stat *buf); +int sys_lstat (const char *path, struct stat *buf); #endif #if defined (ENCAPSULATE_LSTAT) && !defined (DONT_ENCAPSULATE) # undef lstat @@ -370,7 +431,7 @@ int sys_lstat (CONST char *path, struct stat *buf); #endif #ifdef ENCAPSULATE_READLINK -int sys_readlink (CONST char *path, char *buf, size_t bufsiz); +int sys_readlink (const char *path, char *buf, size_t bufsiz); #endif #if defined (ENCAPSULATE_READLINK) && !defined (DONT_ENCAPSULATE) # undef readlink @@ -385,29 +446,18 @@ int sys_fstat (int fd, struct stat *buf); #endif #if defined (ENCAPSULATE_FSTAT) && !defined (DONT_ENCAPSULATE) # undef fstat -/* Need to use arguments to avoid messing with struct stat */ -# define fstat(fd, buf) sys_fstat (fd, buf) +# define fstat sys_fstat #endif #if !defined (ENCAPSULATE_FSTAT) && defined (DONT_ENCAPSULATE) # define sys_fstat fstat #endif -#ifdef ENCAPSULATE_STAT -int sys_stat (CONST char *path, struct stat *buf); -#endif -#if defined (ENCAPSULATE_STAT) && !defined (DONT_ENCAPSULATE) -# undef stat -/* Need to use arguments to avoid messing with struct stat */ -# define stat(path, buf) sys_stat (path, buf) -#endif -#if !defined (ENCAPSULATE_STAT) && defined (DONT_ENCAPSULATE) -# define sys_stat stat -#endif +int xemacs_stat (const char *path, struct stat *buf); /* encapsulations: file-manipulation calls */ #ifdef ENCAPSULATE_CHMOD -int sys_chmod (CONST char *path, mode_t mode); +int sys_chmod (const char *path, mode_t mode); #endif #if defined (ENCAPSULATE_CHMOD) && !defined (DONT_ENCAPSULATE) # undef chmod @@ -418,7 +468,7 @@ int sys_chmod (CONST char *path, mode_t mode); #endif #ifdef ENCAPSULATE_CREAT -int sys_creat (CONST char *path, mode_t mode); +int sys_creat (const char *path, mode_t mode); #endif #if defined (ENCAPSULATE_CREAT) && !defined (DONT_ENCAPSULATE) # undef creat @@ -429,7 +479,7 @@ int sys_creat (CONST char *path, mode_t mode); #endif #ifdef ENCAPSULATE_LINK -int sys_link (CONST char *existing, CONST char *new); +int sys_link (const char *existing, const char *new); #endif #if defined (ENCAPSULATE_LINK) && !defined (DONT_ENCAPSULATE) # undef link @@ -440,7 +490,7 @@ int sys_link (CONST char *existing, CONST char *new); #endif #ifdef ENCAPSULATE_RENAME -int sys_rename (CONST char *old, CONST char *new); +int sys_rename (const char *old, const char *new); #endif #if defined (ENCAPSULATE_RENAME) && !defined (DONT_ENCAPSULATE) # undef rename @@ -451,7 +501,7 @@ int sys_rename (CONST char *old, CONST char *new); #endif #ifdef ENCAPSULATE_SYMLINK -int sys_symlink (CONST char *name1, CONST char *name2); +int sys_symlink (const char *name1, const char *name2); #endif #if defined (ENCAPSULATE_SYMLINK) && !defined (DONT_ENCAPSULATE) # undef symlink @@ -462,7 +512,7 @@ int sys_symlink (CONST char *name1, CONST char *name2); #endif #ifdef ENCAPSULATE_UNLINK -int sys_unlink (CONST char *path); +int sys_unlink (const char *path); #endif #if defined (ENCAPSULATE_UNLINK) && !defined (DONT_ENCAPSULATE) # undef unlink @@ -473,7 +523,7 @@ int sys_unlink (CONST char *path); #endif #ifdef ENCAPSULATE_EXECVP -int sys_execvp (CONST char *, char * CONST *); +int sys_execvp (const char *, char * const *); #endif #if defined (ENCAPSULATE_EXECVP) && !defined (DONT_ENCAPSULATE) # undef execvp @@ -482,3 +532,5 @@ int sys_execvp (CONST char *, char * CONST *); #if !defined (ENCAPSULATE_EXECVP) && defined (DONT_ENCAPSULATE) # define sys_execvp execvp #endif + +#endif /* INCLUDED_sysfile_h_ */