xref: /original-bsd/sys/sys/stat.h (revision c7ce21e7)
1 /*
2  * Copyright (c) 1982, 1986 Regents of the University of California.
3  * All rights reserved.  The Berkeley software License Agreement
4  * specifies the terms and conditions for redistribution.
5  *
6  *	@(#)stat.h	7.1 (Berkeley) 06/04/86
7  */
8 
9 struct	stat
10 {
11 	dev_t	st_dev;
12 	ino_t	st_ino;
13 	unsigned short st_mode;
14 	short	st_nlink;
15 	uid_t	st_uid;
16 	gid_t	st_gid;
17 	dev_t	st_rdev;
18 	off_t	st_size;
19 	time_t	st_atime;
20 	int	st_spare1;
21 	time_t	st_mtime;
22 	int	st_spare2;
23 	time_t	st_ctime;
24 	int	st_spare3;
25 	long	st_blksize;
26 	long	st_blocks;
27 	long	st_spare4[2];
28 };
29 
30 #define	S_IFMT	0170000		/* type of file */
31 #define		S_IFDIR	0040000	/* directory */
32 #define		S_IFCHR	0020000	/* character special */
33 #define		S_IFBLK	0060000	/* block special */
34 #define		S_IFREG	0100000	/* regular */
35 #define		S_IFLNK	0120000	/* symbolic link */
36 #define		S_IFSOCK 0140000/* socket */
37 #define	S_ISUID	0004000		/* set user id on execution */
38 #define	S_ISGID	0002000		/* set group id on execution */
39 #define	S_ISVTX	0001000		/* save swapped text even after use */
40 #define	S_IREAD	0000400		/* read permission, owner */
41 #define	S_IWRITE 0000200	/* write permission, owner */
42 #define	S_IEXEC	0000100		/* execute/search permission, owner */
43