4 #include <sys/types.h>
\r
7 #define _S_IFMT 0170000 /* file type mask */
\r
8 #define _S_IFDIR 0040000 /* directory */
\r
9 #define _S_IFCHR 0020000 /* character special */
\r
10 #define _S_IFIFO 0010000 /* pipe */
\r
11 #define _S_IFREG 0100000 /* regular */
\r
12 #define _S_IREAD 0000400 /* read permission, owner */
\r
13 #define _S_IWRITE 0000200 /* write permission, owner */
\r
14 #define _S_IEXEC 0000100 /* execute/search permission, owner */
\r
16 #define _S_IFMT 0170000 /* file type mask */
\r
17 #define _S_IFDIR 0040000 /* directory */
\r
18 #define _S_IFCHR 0020000 /* character special */
\r
19 #define _S_IFIFO 0010000 /* pipe */
\r
20 #define _S_IFREG 0100000 /* regular */
\r
21 #define _S_IREAD 0000400 /* read permission, owner */
\r
22 #define _S_IWRITE 0000200 /* write permission, owner */
\r
23 #define _S_IEXEC 0000100 /* execute/search permission, owner */
\r
25 #define S_IFMT _S_IFMT
\r
26 #define S_IFREG _S_IFREG
\r
27 #define S_IFCHR _S_IFCHR
\r
28 #define S_IFDIR _S_IFDIR
\r
29 #define S_IREAD _S_IREAD
\r
30 #define S_IWRITE _S_IWRITE
\r
31 #define S_IEXEC _S_IEXEC
\r
34 #define S_ISDIR(X) (((X) & S_IFMT) == S_IFDIR)
\r
37 #define S_ISREG(X) (((X) & S_IFMT) == S_IFREG)
\r
44 unsigned short st_mode;
\r