1 /* stat.h 4.7 83/05/21 */ 2 3 struct stat 4 { 5 dev_t st_dev; 6 ino_t st_ino; 7 unsigned short st_mode; 8 short st_nlink; 9 short st_uid; 10 short st_gid; 11 dev_t st_rdev; 12 off_t st_size; 13 time_t st_atime; 14 int st_spare1; 15 time_t st_mtime; 16 int st_spare2; 17 time_t st_ctime; 18 int st_spare3; 19 long st_blksize; 20 long st_blocks; 21 long st_spare4[2]; 22 }; 23 24 #define S_IFMT 0170000 /* type of file */ 25 #define S_IFDIR 0040000 /* directory */ 26 #define S_IFCHR 0020000 /* character special */ 27 #define S_IFBLK 0060000 /* block special */ 28 #define S_IFREG 0100000 /* regular */ 29 #define S_IFLNK 0120000 /* symbolic link */ 30 #define S_IFSOCK 0140000/* socket */ 31 #define S_ISUID 0004000 /* set user id on execution */ 32 #define S_ISGID 0002000 /* set group id on execution */ 33 #define S_ISVTX 0001000 /* save swapped text even after use */ 34 #define S_IREAD 0000400 /* read permission, owner */ 35 #define S_IWRITE 0000200 /* write permission, owner */ 36 #define S_IEXEC 0000100 /* execute/search permission, owner */ 37