Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | #ifndef _LINUX_STAT_H |
2 | #define _LINUX_STAT_H | |
3 | ||
4 | #ifdef __KERNEL__ | |
5 | ||
6 | #include <asm/stat.h> | |
7 | ||
8 | #endif | |
9 | ||
304c209c | 10 | #if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2) |
1da177e4 LT |
11 | |
12 | #define S_IFMT 00170000 | |
13 | #define S_IFSOCK 0140000 | |
14 | #define S_IFLNK 0120000 | |
15 | #define S_IFREG 0100000 | |
16 | #define S_IFBLK 0060000 | |
17 | #define S_IFDIR 0040000 | |
18 | #define S_IFCHR 0020000 | |
19 | #define S_IFIFO 0010000 | |
20 | #define S_ISUID 0004000 | |
21 | #define S_ISGID 0002000 | |
22 | #define S_ISVTX 0001000 | |
23 | ||
24 | #define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) | |
25 | #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) | |
26 | #define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) | |
27 | #define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) | |
28 | #define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) | |
29 | #define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) | |
30 | #define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK) | |
31 | ||
32 | #define S_IRWXU 00700 | |
33 | #define S_IRUSR 00400 | |
34 | #define S_IWUSR 00200 | |
35 | #define S_IXUSR 00100 | |
36 | ||
37 | #define S_IRWXG 00070 | |
38 | #define S_IRGRP 00040 | |
39 | #define S_IWGRP 00020 | |
40 | #define S_IXGRP 00010 | |
41 | ||
42 | #define S_IRWXO 00007 | |
43 | #define S_IROTH 00004 | |
44 | #define S_IWOTH 00002 | |
45 | #define S_IXOTH 00001 | |
46 | ||
47 | #endif | |
48 | ||
49 | #ifdef __KERNEL__ | |
50 | #define S_IRWXUGO (S_IRWXU|S_IRWXG|S_IRWXO) | |
51 | #define S_IALLUGO (S_ISUID|S_ISGID|S_ISVTX|S_IRWXUGO) | |
52 | #define S_IRUGO (S_IRUSR|S_IRGRP|S_IROTH) | |
53 | #define S_IWUGO (S_IWUSR|S_IWGRP|S_IWOTH) | |
54 | #define S_IXUGO (S_IXUSR|S_IXGRP|S_IXOTH) | |
55 | ||
1c710c89 UD |
56 | #define UTIME_NOW ((1l << 30) - 1l) |
57 | #define UTIME_OMIT ((1l << 30) - 2l) | |
58 | ||
1da177e4 LT |
59 | #include <linux/types.h> |
60 | #include <linux/time.h> | |
61 | ||
62 | struct kstat { | |
afefdbb2 | 63 | u64 ino; |
1da177e4 LT |
64 | dev_t dev; |
65 | umode_t mode; | |
66 | unsigned int nlink; | |
67 | uid_t uid; | |
68 | gid_t gid; | |
69 | dev_t rdev; | |
70 | loff_t size; | |
71 | struct timespec atime; | |
72 | struct timespec mtime; | |
73 | struct timespec ctime; | |
74 | unsigned long blksize; | |
abcb6c9f | 75 | unsigned long long blocks; |
1da177e4 LT |
76 | }; |
77 | ||
78 | #endif | |
79 | ||
80 | #endif |