|
|
1.1 root 1: #ifndef _SYS_STAT_H
2: #define _SYS_STAT_H
3:
4: #include <sys/types.h>
5:
6: struct stat {
7: dev_t st_dev;
8: ino_t st_ino;
9: umode_t st_mode;
10: nlink_t st_nlink;
11: uid_t st_uid;
12: gid_t st_gid;
13: dev_t st_rdev;
14: off_t st_size;
15: time_t st_atime;
16: time_t st_mtime;
17: time_t st_ctime;
18: };
19:
20: #define S_IFMT 00170000
1.1.1.2 ! root 21: #define S_IFLNK 0120000
1.1 root 22: #define S_IFREG 0100000
23: #define S_IFBLK 0060000
24: #define S_IFDIR 0040000
25: #define S_IFCHR 0020000
26: #define S_IFIFO 0010000
27: #define S_ISUID 0004000
28: #define S_ISGID 0002000
29: #define S_ISVTX 0001000
30:
1.1.1.2 ! root 31: #define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
1.1 root 32: #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
33: #define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
34: #define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
35: #define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
36: #define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
37:
38: #define S_IRWXU 00700
39: #define S_IRUSR 00400
40: #define S_IWUSR 00200
41: #define S_IXUSR 00100
42:
43: #define S_IRWXG 00070
44: #define S_IRGRP 00040
45: #define S_IWGRP 00020
46: #define S_IXGRP 00010
47:
48: #define S_IRWXO 00007
49: #define S_IROTH 00004
50: #define S_IWOTH 00002
51: #define S_IXOTH 00001
52:
53: extern int chmod(const char *_path, mode_t mode);
54: extern int fstat(int fildes, struct stat *stat_buf);
55: extern int mkdir(const char *_path, mode_t mode);
56: extern int mkfifo(const char *_path, mode_t mode);
57: extern int stat(const char *filename, struct stat *stat_buf);
58: extern mode_t umask(mode_t mask);
59:
60: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.