xref: /original-bsd/sys/sys/stat.h (revision c43e4352)
1 /*	stat.h	6.1	83/07/29	*/
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