Commit | Line | Data |
e4451f11 |
1 | #ifndef SYS_STAT_H |
2 | #define SYS_STAT_H 1 |
3 | |
4 | #include <sys/types.h> |
5 | |
cb69f87a |
6 | /* stat.h */ |
e4451f11 |
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 */ |
15 | |
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 */ |
24 | |
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 |
32 | |
33 | #ifndef S_ISDIR |
34 | #define S_ISDIR(X) (((X) & S_IFMT) == S_IFDIR) |
35 | #endif |
36 | #ifndef S_ISREG |
37 | #define S_ISREG(X) (((X) & S_IFMT) == S_IFREG) |
38 | #endif |
39 | |
40 | struct stat |
41 | { |
42 | dev_t st_dev; |
43 | ino_t st_ino; |
44 | unsigned short st_mode; |
45 | short st_nlink; |
46 | short st_uid; |
47 | short st_gid; |
48 | dev_t st_rdev; |
49 | off_t st_size; |
50 | time_t st_atime; |
51 | time_t st_mtime; |
52 | time_t st_ctime; |
53 | }; |
54 | |
55 | #endif |