1 /* @(#)statdefs.h 1.1 98/11/22 Copyright 1998 J. Schilling */ 2 /* 3 * Definitions for stat() file mode 4 * 5 * Copyright (c) 1998 J. Schilling 6 */ 7 /* 8 * This program is free software; you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License as published by 10 * the Free Software Foundation; either version 2, or (at your option) 11 * any later version. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU General Public License 19 * along with this program; see the file COPYING. If not, write to 20 * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. 21 */ 22 23 #ifndef _STATDEFS_H 24 #define _STATDEFS_H 25 26 #ifndef _MCONFIG_H 27 #include <mconfig.h> 28 #endif 29 30 #ifdef STAT_MACROS_BROKEN 31 #undef S_ISFIFO /* Named pipe */ 32 #undef S_ISCHR /* Character special */ 33 #undef S_ISMPC /* UNUSED multiplexed c */ 34 #undef S_ISDIR /* Directory */ 35 #undef S_ISNAM /* Named file (XENIX) */ 36 #undef S_ISBLK /* Block special */ 37 #undef S_ISMPB /* UNUSED multiplexed b */ 38 #undef S_ISREG /* Regular file */ 39 #undef S_ISCNT /* Contiguous file */ 40 #undef S_ISLNK /* Symbolic link */ 41 #undef S_ISSHAD /* Solaris shadow inode */ 42 #undef S_ISSOCK /* UNIX domain socket */ 43 #undef S_ISDOOR /* Solaris DOOR */ 44 #endif 45 46 #ifndef S_ISFIFO /* Named pipe */ 47 # ifdef S_IFIFO 48 # define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) 49 # else 50 # define S_ISFIFO(m) (0) 51 # endif 52 #endif 53 #ifndef S_ISCHR /* Character special */ 54 # ifdef S_IFCHR 55 # define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) 56 # else 57 # define S_ISCHR(m) (0) 58 # endif 59 #endif 60 #ifndef S_ISMPC /* UNUSED multiplexed c */ 61 # ifdef S_IFMPC 62 # define S_ISMPC(m) (((m) & S_IFMT) == S_IFMPC) 63 # else 64 # define S_ISMPC(m) (0) 65 # endif 66 #endif 67 #ifndef S_ISDIR /* Directory */ 68 # ifdef S_IFDIR 69 # define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) 70 # else 71 # define S_ISDIR(m) (0) 72 # endif 73 #endif 74 #ifndef S_ISNAM /* Named file (XENIX) */ 75 # ifdef S_IFNAM 76 # define S_ISNAM(m) (((m) & S_IFMT) == S_IFNAM) 77 # else 78 # define S_ISNAM(m) (0) 79 # endif 80 #endif 81 #ifndef S_ISBLK /* Block special */ 82 # ifdef S_IFBLK 83 # define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) 84 # else 85 # define S_ISBLK(m) (0) 86 # endif 87 #endif 88 #ifndef S_ISMPB /* UNUSED multiplexed b */ 89 # ifdef S_IFMPB 90 # define S_ISMPB(m) (((m) & S_IFMT) == S_IFMPB) 91 # else 92 # define S_ISMPB(m) (0) 93 # endif 94 #endif 95 #ifndef S_ISREG /* Regular file */ 96 # ifdef S_IFREG 97 # define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) 98 # else 99 # define S_ISREG(m) (0) 100 # endif 101 #endif 102 #ifndef S_ISCNT /* Contiguous file */ 103 # ifdef S_IFCNT 104 # define S_ISCNT(m) (((m) & S_IFMT) == S_IFCNT) 105 # else 106 # define S_ISCNT(m) (0) 107 # endif 108 #endif 109 #ifndef S_ISLNK /* Symbolic link */ 110 # ifdef S_IFLNK 111 # define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) 112 # else 113 # define S_ISLNK(m) (0) 114 # endif 115 #endif 116 #ifndef S_ISSHAD /* Solaris shadow inode */ 117 # ifdef S_IFSHAD 118 # define S_ISSHAD(m) (((m) & S_IFMT) == S_IFSHAD) 119 # else 120 # define S_ISSHAD(m) (0) 121 # endif 122 #endif 123 #ifndef S_ISSOCK /* UNIX domain socket */ 124 # ifdef S_IFSOCK 125 # define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK) 126 # else 127 # define S_ISSOCK(m) (0) 128 # endif 129 #endif 130 #ifndef S_ISDOOR /* Solaris DOOR */ 131 # ifdef S_IFDOOR 132 # define S_ISDOOR(m) (((m) & S_IFMT) == S_IFDOOR) 133 # else 134 # define S_ISDOOR(m) (0) 135 # endif 136 #endif 137 138 #endif /* _STATDEFS_H */ 139 140