From d404816448d0229fa7817b0818bb95ae2c8648c9 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sat, 15 Jun 2002 06:53:57 +0000 Subject: (S_ISNAM): Add to list of S_IS* macros. Rearrange #if directives for each S_IS macro. From diffutils-2.8.2. --- src/sys2.h | 140 ++++++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 88 insertions(+), 52 deletions(-) diff --git a/src/sys2.h b/src/sys2.h index ec8a14ed1..0ba910eb9 100644 --- a/src/sys2.h +++ b/src/sys2.h @@ -3,6 +3,10 @@ more time, I'll merge the remaining things in system.h and everything in this file will go back there. */ +#ifndef S_IFMT +# define S_IFMT 0170000 +#endif + #if STAT_MACROS_BROKEN # undef S_ISBLK # undef S_ISCHR @@ -10,92 +14,124 @@ # undef S_ISDOOR # undef S_ISFIFO # undef S_ISLNK +# undef S_ISNAM # undef S_ISMPB # undef S_ISMPC # undef S_ISNWK # undef S_ISREG # undef S_ISSOCK -#endif /* STAT_MACROS_BROKEN. */ - -#ifndef S_IFMT -# define S_IFMT 0170000 -#endif -#if !defined(S_ISBLK) && defined(S_IFBLK) -# define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) #endif -#if !defined(S_ISCHR) && defined(S_IFCHR) -# define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) -#endif -#if !defined(S_ISDIR) && defined(S_IFDIR) -# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) -#endif -#if !defined(S_ISREG) && defined(S_IFREG) -# define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) -#endif -#if !defined(S_ISFIFO) && defined(S_IFIFO) -# define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) -#endif -#if !defined(S_ISLNK) && defined(S_IFLNK) -# define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) -#endif -#if !defined(S_ISSOCK) && defined(S_IFSOCK) -# define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK) -#endif -#if !defined(S_ISMPB) && defined(S_IFMPB) /* V7 */ -# define S_ISMPB(m) (((m) & S_IFMT) == S_IFMPB) -# define S_ISMPC(m) (((m) & S_IFMT) == S_IFMPC) + + +#ifndef S_ISBLK +# ifdef S_IFBLK +# define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) +# else +# define S_ISBLK(m) 0 +# endif #endif -#if !defined(S_ISNWK) && defined(S_IFNWK) /* HP/UX */ -# define S_ISNWK(m) (((m) & S_IFMT) == S_IFNWK) + +#ifndef S_ISCHR +# ifdef S_IFCHR +# define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) +# else +# define S_ISCHR(m) 0 +# endif #endif -#if !defined(S_ISDOOR) && defined(S_IFDOOR) /* Solaris 2.5 and up */ -# define S_ISDOOR(m) (((m) & S_IFMT) == S_IFDOOR) + +#ifndef S_ISDIR +# ifdef S_IFDIR +# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) +# else +# define S_ISDIR(m) 0 +# endif #endif -/* If any of the following S_* macros are undefined, define them here - so each use doesn't have to be guarded with e.g., #ifdef S_ISLNK. */ -#ifndef S_ISREG -# define S_ISREG(Mode) 0 +#ifndef S_ISDOOR /* Solaris 2.5 and up */ +# ifdef S_IFDOOR +# define S_ISDOOR(m) (((m) & S_IFMT) == S_IFDOOR) +# else +# define S_ISDOOR(m) 0 +# endif #endif -#ifndef S_ISDIR -# define S_ISDIR(Mode) 0 +#ifndef S_ISFIFO +# ifdef S_IFIFO +# define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) +# else +# define S_ISFIFO(m) 0 +# endif #endif #ifndef S_ISLNK -# define S_ISLNK(Mode) 0 +# ifdef S_IFLNK +# define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) +# else +# define S_ISLNK(m) 0 +# endif #endif -#ifndef S_ISFIFO -# define S_ISFIFO(Mode) 0 +#ifndef S_ISMPB /* V7 */ +# ifdef S_IFMPB +# define S_ISMPB(m) (((m) & S_IFMT) == S_IFMPB) +# define S_ISMPC(m) (((m) & S_IFMT) == S_IFMPC) +# else +# define S_ISMPB(m) 0 +# define S_ISMPC(m) 0 +# endif #endif -#ifndef S_ISSOCK -# define S_ISSOCK(Mode) 0 +#ifndef S_ISNAM /* Xenix */ +# ifdef S_IFNAM +# define S_ISNAM(m) (((m) & S_IFMT) == S_IFNAM) +# else +# define S_ISNAM(m) 0 +# endif #endif -#ifndef S_ISCHR -# define S_ISCHR(Mode) 0 +#ifndef S_ISNWK /* HP/UX */ +# ifdef S_IFNWK +# define S_ISNWK(m) (((m) & S_IFMT) == S_IFNWK) +# else +# define S_ISNWK(m) 0 +# endif #endif -#ifndef S_ISBLK -# define S_ISBLK(Mode) 0 +#ifndef S_ISREG +# ifdef S_IFREG +# define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) +# else +# define S_ISREG(m) 0 +# endif #endif -#ifndef S_ISDOOR -# define S_ISDOOR(Mode) 0 +#ifndef S_ISSOCK +# ifdef S_IFSOCK +# define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK) +# else +# define S_ISSOCK(m) 0 +# endif #endif + #ifndef S_TYPEISSEM -# define S_TYPEISSEM(Stat_buf_p) 0 +# ifdef S_INSEM +# define S_TYPEISSEM(p) (S_ISNAM ((p)->st_mode) && (p)->st_rdev == S_INSEM) +# else +# define S_TYPEISSEM(p) 0 +# endif #endif #ifndef S_TYPEISSHM -# define S_TYPEISSHM(Stat_buf_p) 0 +# ifdef S_INSHD +# define S_TYPEISSHM(p) (S_ISNAM ((p)->st_mode) && (p)->st_rdev == S_INSHD) +# else +# define S_TYPEISSHM(p) 0 +# endif #endif #ifndef S_TYPEISMQ -# define S_TYPEISMQ(Stat_buf_p) 0 +# define S_TYPEISMQ(p) 0 #endif -- cgit v1.2.3-70-g09d2