|
|
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.3 ! root 21: #define S_IFSOCK 0140000
1.1.1.2 root 22: #define S_IFLNK 0120000
1.1 root 23: #define S_IFREG 0100000
24: #define S_IFBLK 0060000
25: #define S_IFDIR 0040000
26: #define S_IFCHR 0020000
27: #define S_IFIFO 0010000
28: #define S_ISUID 0004000
29: #define S_ISGID 0002000
30: #define S_ISVTX 0001000
31:
1.1.1.2 root 32: #define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
1.1 root 33: #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
34: #define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
35: #define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
36: #define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
37: #define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
1.1.1.3 ! root 38: #define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
1.1 root 39:
40: #define S_IRWXU 00700
41: #define S_IRUSR 00400
42: #define S_IWUSR 00200
43: #define S_IXUSR 00100
44:
45: #define S_IRWXG 00070
46: #define S_IRGRP 00040
47: #define S_IWGRP 00020
48: #define S_IXGRP 00010
49:
50: #define S_IRWXO 00007
51: #define S_IROTH 00004
52: #define S_IWOTH 00002
53: #define S_IXOTH 00001
54:
55: extern int chmod(const char *_path, mode_t mode);
56: extern int fstat(int fildes, struct stat *stat_buf);
57: extern int mkdir(const char *_path, mode_t mode);
58: extern int mkfifo(const char *_path, mode_t mode);
59: extern int stat(const char *filename, struct stat *stat_buf);
60: extern mode_t umask(mode_t mask);
61:
62: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.