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