1 #include <sys/stat.h> 2 #if !defined(S_ISDIR) && defined(S_IFDIR) 3 #define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) 4 #endif 5 #if !defined(S_ISREG) && defined(S_IFREG) 6 #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) 7 #endif 8 #if !defined(S_ISSOCK) && defined(S_IFSOCK) 9 #define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK) 10 #endif 11 12 #ifndef S_IXUSR 13 #define S_IXUSR 0100 14 #endif 15 #ifndef S_IXGRP 16 #define S_IXGRP 0010 17 #endif 18 #ifndef S_IXOTH 19 #define S_IXOTH 0001 20 #endif 21 22 #define S_ISXXX(m) ((m) & (S_IXUSR | S_IXGRP | S_IXOTH)) 23