1 S_IFMT 0170000 bit mask for the file type bit fields
2 S_IFSOCK 0140000 socket
3 S_IFLNK 0120000 symbolic link
4 S_IFREG 0100000 regular file
5 S_IFBLK 0060000 block device
6 S_IFDIR 0040000 directory
7 S_IFCHR 0020000 character device
9 S_ISUID 0004000 set UID bit
10 S_ISGID 0002000 set-group-ID bit (see below)
11 S_ISVTX 0001000 sticky bit (see below)
12 S_IRWXU 00700 mask for file owner permissions
13 S_IRUSR 00400 owner has read permission
14 S_IWUSR 00200 owner has write permission
15 S_IXUSR 00100 owner has execute permission
16 S_IRWXG 00070 mask for group permissions
17 S_IRGRP 00040 group has read permission
18 S_IWGRP 00020 group has write permission
19 S_IXGRP 00010 group has execute permission
20 S_IRWXO 00007 mask for permissions for others (not in group)
21 S_IROTH 00004 others have read permission
22 S_IWOTH 00002 others have write permission
23 S_IXOTH 00001 others have execute permission