using System; namespace Packaging.Targets.IO { /// /// Represents the Unix-style file permission flags. Taken from <sys/stat.h>. /// /// [Flags] public enum LinuxFileMode : ushort { /// /// Set user ID on execution /// S_ISUID = 0x0800, /// /// Set group ID on execution /// S_ISGID = 0x0400, /// /// Save swapped text after use (sticky). /// S_ISVTX = 0x0200, /// /// Read by owner /// S_IRUSR = 0x0100, /// /// Write by owner /// S_IWUSR = 0x0080, /// /// Execute by owner /// S_IXUSR = 0x0040, /// /// Read by group /// S_IRGRP = 0x0020, /// /// Write by group /// S_IWGRP = 0x0010, /// /// Execute by group /// S_IXGRP = 0x0008, /// /// Read by other /// S_IROTH = 0x0004, /// /// Write by other /// S_IWOTH = 0x0002, /// /// Execute by other /// S_IXOTH = 0x0001, /// /// The file is a named pipe (fifo). /// S_IFIFO = 0x1000, // 010000 in octal /// /// The file is a character special device. /// S_IFCHR = 0x2000, // 0020000 in octal /// /// The file is a directory. /// S_IFDIR = 0x4000, // 0040000 in octal /// /// The file is a block special device. /// S_IFBLK = 0x6000, // 0060000 in octal /// /// The file is a regular file. /// S_IFREG = 0x8000, // 0100000 in octal /// /// The file is a symbolic link. /// S_IFLNK = 0xA000, // 0120000 in octal /// /// The file is a Unix socket. /// S_IFSOCK = 0xC000 // 0140000 in octal } }