using System; namespace BinaryObjectScanner.Models.TAR { [Flags] public enum Mode : ushort { /// /// Execute/search by other /// TOEXEC = 0x0001, /// /// Write by other /// TOWRITE = 0x0002, /// /// Read by other /// TOREAD = 0x0004, /// /// Execute/search by group /// TGEXEC = 0x0008, /// /// Write by group /// TGWRITE = 0x0010, /// /// Read by group /// TGREAD = 0x0020, /// /// Execute/search by owner /// TUEXEC = 0x0040, /// /// Write by owner /// TUWRITE = 0x0080, /// /// Read by owner /// TUREAD = 0x0100, /// /// Reserved /// TSVTX = 0x0200, /// /// Set GID on execution /// TSGID = 0x0400, /// /// Set UID on execution /// TSUID = 0x0800, } public enum TypeFlag : byte { /// /// Regular file /// REGTYPE = (byte)'0', /// /// Regular file /// AREGTYPE = 0, /// /// Hard link /// LNKTYPE = (byte)'1', /// /// Symbolic link /// SYMTYPE = (byte)'2', /// /// Character special /// CHRTYPE = (byte)'3', /// /// Block special /// BLKTYPE = (byte)'4', /// /// Directory /// DIRTYPE = (byte)'5', /// /// FIFO /// FIFOTYPE = (byte)'6', /// /// Contiguous file /// CONTTYPE = (byte)'7', /// /// Global extended header with meta data (POSIX.1-2001) /// XHDTYPE = (byte)'g', /// /// Extended header with metadata for the next file in the archive (POSIX.1-2001) /// XGLTYPE = (byte)'x', #region Vendor-Specific Extensions (POSIX.1-1988) VendorSpecificA = (byte)'A', VendorSpecificB = (byte)'B', VendorSpecificC = (byte)'C', VendorSpecificD = (byte)'D', VendorSpecificE = (byte)'E', VendorSpecificF = (byte)'F', VendorSpecificG = (byte)'G', VendorSpecificH = (byte)'H', VendorSpecificI = (byte)'I', VendorSpecificJ = (byte)'J', VendorSpecificK = (byte)'K', VendorSpecificL = (byte)'L', VendorSpecificM = (byte)'M', VendorSpecificN = (byte)'N', VendorSpecificO = (byte)'O', VendorSpecificP = (byte)'P', VendorSpecificQ = (byte)'Q', VendorSpecificR = (byte)'R', VendorSpecificS = (byte)'S', VendorSpecificT = (byte)'T', VendorSpecificU = (byte)'U', VendorSpecificV = (byte)'V', VendorSpecificW = (byte)'W', VendorSpecificX = (byte)'X', VendorSpecificY = (byte)'Y', VendorSpecificZ = (byte)'Z', #endregion } }