/* Form of stat used in v7 (structure name, field names, etc), but with v6 * stat layout. */ struct stat { int st_dev; unsigned st_ino; unsigned st_mode; char st_nlink; char st_uid; char st_gid; char st_size0; unsigned st_size1; unsigned st_addr[8]; long st_atime; long st_mtime; }; #define S_IFMT 060000 /* type of file */ #define S_IFDIR 040000 /* directory */ #define S_IFCHR 020000 /* character special */ #define S_IFBLK 060000 /* block special */ #define S_IFREG 000000 /* regular */ #define S_ISUID 0004000 /* set user id on execution */ #define S_ISGID 0002000 /* set group id on execution */ #define S_ISVTX 0001000 /* save swapped text even after use */ #define S_IREAD 0000400 /* read permission, owner */ #define S_IWRITE 0000200 /* write permission, owner */ #define S_IEXEC 0000100 /* execute/search permission, owner */