|
|
1.1 root 1: /* (-lgl
2: * COHERENT Version 3.0
3: * Copyright (c) 1982, 1990 by Mark Williams Company.
4: * All rights reserved. May not be copied without permission.
5: -lgl) */
6: /*
7: * Stat.
8: */
9:
10: #ifndef STAT_H
11: #define STAT_H STAT_H
12:
13: #include <sys/types.h>
14:
15: /*
16: * Structure returned by stat and fstat system calls.
17: */
18: struct stat {
19: dev_t st_dev; /* Device */
20: ino_t st_ino; /* Inode number */
21: unsigned short st_mode; /* Mode */
22: short st_nlink; /* Link count */
23: short st_uid; /* User id */
24: short st_gid; /* Group id */
25: dev_t st_rdev; /* Real device */
26: fsize_t st_size; /* Size */
27: time_t st_atime; /* Access time */
28: time_t st_mtime; /* Modify time */
29: time_t st_ctime; /* Change time */
30: };
31:
32: /*
33: * Modes.
34: */
35: #define S_IFMT 0170000 /* Type */
36: #define S_IFDIR 0040000 /* Directory */
37: #define S_IFCHR 0020000 /* Character special */
38: #define S_IFBLK 0060000 /* Block special */
39: #define S_IFREG 0100000 /* Regular */
40: #define S_IFMPC 0030000 /* Multiplexed character special */
41: #define S_IFMPB 0070000 /* Multiplexed block special */
42: #define S_IFPIP 0010000 /* Pipe */
43: #define S_ISUID 0004000 /* Set user id on execution */
44: #define S_ISGID 0002000 /* Set group id on execution */
45: #define S_ISVTX 0001000 /* Save swapped text even after use */
46: #define S_IREAD 0000400 /* Read permission, owner */
47: #define S_IWRITE 000200 /* Write permission, owner */
48: #define S_IEXEC 0000100 /* Execute/search permission, owner */
49:
50: /*
51: * Nonexistent device.
52: * Must compare correctly with dev_t, which is an unsigned short.
53: */
54: #define NODEV ((dev_t)-1)
55:
56: /*
57: * Functions.
58: */
59: #define major(dev) ((dev>>8)&0377)
60: #define minor(dev) (dev&0377)
61: #define makedev(m1, m2) ((m1<<8)|m2)
62:
63: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.