X-Git-Url: http://git.chise.org/gitweb/?p=chise%2Fxemacs-chise.git.1;a=blobdiff_plain;f=src%2Fsysfile.h;h=d9d3deb3af51177110ca29492498b243989ac1fd;hp=932a503407d6edc72acab3a080050457061bff1b;hb=14ac73276fa152e8f0b74602792afc0b9c3236c9;hpb=716cfba952c1dc0d2cf5c968971f3780ba728a89 diff --git a/src/sysfile.h b/src/sysfile.h index 932a503..d9d3deb 100644 --- a/src/sysfile.h +++ b/src/sysfile.h @@ -25,7 +25,7 @@ Boston, MA 02111-1307, USA. */ #include -#ifndef WINDOWSNT +#ifndef WIN32_NATIVE #include /* does not always imply this */ #endif @@ -43,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 @@ -94,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) @@ -117,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" @@ -137,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 @@ -148,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 @@ -156,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 @@ -206,13 +244,43 @@ Boston, MA 02111-1307, USA. */ #define S_ISNWK(m) (((m) & S_IFMT) == S_IFNWK) #endif +/* 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 R_OK +# define R_OK 4 +#endif +/* Under native Windows, there is no concept of execute permission, + so redefine execute permissions to be the same as read permission */ #ifndef X_OK -# define X_OK 01 +# ifdef WIN32_NATIVE +# define X_OK R_OK +# else +# define X_OK 1 +# endif +#endif + +#ifndef W_OK +# define W_OK 2 +#endif + +#ifndef F_OK +# define F_OK 0 #endif #ifndef FD_CLOEXEC @@ -254,7 +322,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 @@ -265,7 +333,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 @@ -300,7 +368,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 @@ -311,7 +379,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 @@ -336,7 +404,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 @@ -347,7 +415,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 @@ -358,7 +426,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 @@ -369,7 +437,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 @@ -384,29 +452,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 @@ -417,7 +474,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 @@ -428,7 +485,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 @@ -439,7 +496,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 @@ -450,7 +507,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 @@ -461,7 +518,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 @@ -472,7 +529,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