mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
No RAR
This commit is contained in:
@@ -2,35 +2,6 @@
|
|||||||
{
|
{
|
||||||
#region Archival
|
#region Archival
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Version of tool archive made by
|
|
||||||
/// </summary>
|
|
||||||
public enum ArchiveVersion : ushort
|
|
||||||
{
|
|
||||||
MSDOSandOS2 = 0,
|
|
||||||
Amiga = 1,
|
|
||||||
OpenVMS = 2,
|
|
||||||
UNIX = 3,
|
|
||||||
VMCMS = 4,
|
|
||||||
AtariST = 5,
|
|
||||||
OS2HPFS = 6,
|
|
||||||
Macintosh = 7,
|
|
||||||
ZSystem = 8,
|
|
||||||
CPM = 9,
|
|
||||||
WindowsNTFS = 10,
|
|
||||||
MVS = 11,
|
|
||||||
VSE = 12,
|
|
||||||
AcornRisc = 13,
|
|
||||||
VFAT = 14,
|
|
||||||
AlternateMVS = 15,
|
|
||||||
BeOS = 16,
|
|
||||||
Tandem = 17,
|
|
||||||
OS400 = 18,
|
|
||||||
OSXDarwin = 19,
|
|
||||||
TorrentZip = 20,
|
|
||||||
TorrentZip64 = 45,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Compression being used in CHD
|
/// Compression being used in CHD
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -156,88 +127,6 @@
|
|||||||
TorrentZPAQ,
|
TorrentZPAQ,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// RAR extra area flag
|
|
||||||
/// </summary>
|
|
||||||
public enum RarExtraAreaFlag : uint
|
|
||||||
{
|
|
||||||
FileEncryption = 0x01,
|
|
||||||
FileHash = 0x02,
|
|
||||||
FileTime = 0x03,
|
|
||||||
FileVersion = 0x04,
|
|
||||||
Redirection = 0x05,
|
|
||||||
UnixOwner = 0x06,
|
|
||||||
ServiceData = 0x07,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// RAR header types
|
|
||||||
/// </summary>
|
|
||||||
public enum RarHeaderType : uint
|
|
||||||
{
|
|
||||||
MainArchiveHeader = 1,
|
|
||||||
File = 2,
|
|
||||||
Service = 3,
|
|
||||||
ArchiveEncryption = 4,
|
|
||||||
EndOfArchive = 5,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// RAR entry redirection type
|
|
||||||
/// </summary>
|
|
||||||
public enum RarRedirectionType : uint
|
|
||||||
{
|
|
||||||
UnixSymlink = 0x0001,
|
|
||||||
WindowsSymlink = 0x0002,
|
|
||||||
WindowsJunction = 0x0003,
|
|
||||||
HardLink = 0x0004,
|
|
||||||
FileCopy = 0x0005,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 7zip Properties
|
|
||||||
/// </summary>
|
|
||||||
public enum SevenZipProperties : uint
|
|
||||||
{
|
|
||||||
kEnd = 0x00,
|
|
||||||
|
|
||||||
kHeader = 0x01,
|
|
||||||
|
|
||||||
kArchiveProperties = 0x02,
|
|
||||||
|
|
||||||
kAdditionalStreamsInfo = 0x03,
|
|
||||||
kMainStreamsInfo = 0x04,
|
|
||||||
kFilesInfo = 0x05,
|
|
||||||
|
|
||||||
kPackInfo = 0x06,
|
|
||||||
kUnPackInfo = 0x07,
|
|
||||||
kSubStreamsInfo = 0x08,
|
|
||||||
|
|
||||||
kSize = 0x09,
|
|
||||||
kCRC = 0x0A,
|
|
||||||
|
|
||||||
kFolder = 0x0B,
|
|
||||||
|
|
||||||
kCodersUnPackSize = 0x0C,
|
|
||||||
kNumUnPackStream = 0x0D,
|
|
||||||
|
|
||||||
kEmptyStream = 0x0E,
|
|
||||||
kEmptyFile = 0x0F,
|
|
||||||
kAnti = 0x10,
|
|
||||||
|
|
||||||
kName = 0x11,
|
|
||||||
kCTime = 0x12,
|
|
||||||
kATime = 0x13,
|
|
||||||
kMTime = 0x14,
|
|
||||||
kWinAttributes = 0x15,
|
|
||||||
kComment = 0x16,
|
|
||||||
|
|
||||||
kEncodedHeader = 0x17,
|
|
||||||
|
|
||||||
kStartPos = 0x18,
|
|
||||||
kDummy = 0x19,
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region DatFile related
|
#region DatFile related
|
||||||
|
|||||||
@@ -2,237 +2,6 @@
|
|||||||
|
|
||||||
namespace SabreTools.Library.Data
|
namespace SabreTools.Library.Data
|
||||||
{
|
{
|
||||||
#region Archival
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Determines the level to scan archives at
|
|
||||||
/// </summary>
|
|
||||||
[Flags]
|
|
||||||
public enum ArchiveScanLevel
|
|
||||||
{
|
|
||||||
// 7zip
|
|
||||||
SevenZipExternal = 1 << 0,
|
|
||||||
SevenZipInternal = 1 << 1,
|
|
||||||
SevenZipBoth = SevenZipExternal | SevenZipInternal,
|
|
||||||
|
|
||||||
// GZip
|
|
||||||
GZipExternal = 1 << 2,
|
|
||||||
GZipInternal = 1 << 3,
|
|
||||||
GZipBoth = GZipExternal | GZipInternal,
|
|
||||||
|
|
||||||
// RAR
|
|
||||||
RarExternal = 1 << 4,
|
|
||||||
RarInternal = 1 << 5,
|
|
||||||
RarBoth = RarExternal | RarInternal,
|
|
||||||
|
|
||||||
// Zip
|
|
||||||
ZipExternal = 1 << 6,
|
|
||||||
ZipInternal = 1 << 7,
|
|
||||||
ZipBoth = ZipExternal | ZipInternal,
|
|
||||||
|
|
||||||
// Tar
|
|
||||||
TarExternal = 1 << 8,
|
|
||||||
TarInternal = 1 << 9,
|
|
||||||
TarBoth = TarExternal | TarInternal,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Determines the archive general bit flags
|
|
||||||
/// </summary>
|
|
||||||
[Flags]
|
|
||||||
public enum GeneralPurposeBitFlag : ushort
|
|
||||||
{
|
|
||||||
Encrypted = 1 << 0,
|
|
||||||
ZeroedCRCAndSize = 1 << 3,
|
|
||||||
CompressedPatchedData = 1 << 5,
|
|
||||||
StrongEncryption = 1 << 6,
|
|
||||||
LanguageEncodingFlag = 1 << 11,
|
|
||||||
EncryptedCentralDirectory = 1 << 13,
|
|
||||||
|
|
||||||
// For Method 6 - Imploding
|
|
||||||
Imploding8KSlidingDictionary = 1 << 1,
|
|
||||||
Imploding3ShannonFanoTrees = 1 << 2,
|
|
||||||
|
|
||||||
// For Methods 8 and 9 - Deflating
|
|
||||||
DeflatingMaximumCompression = 1 << 1,
|
|
||||||
DeflatingFastCompression = 1 << 2,
|
|
||||||
DeflatingSuperFastCompression = 1 << 1 | 1 << 2,
|
|
||||||
EnhancedDeflating = 1 << 4,
|
|
||||||
|
|
||||||
// For Method 14 - LZMA
|
|
||||||
LZMAEOSMarkerUsed = 1 << 1,
|
|
||||||
|
|
||||||
// Reserved and unused (SHOULD NOT BE USED)
|
|
||||||
Bit7 = 1 << 7,
|
|
||||||
Bit8 = 1 << 8,
|
|
||||||
Bit9 = 1 << 9,
|
|
||||||
Bit10 = 1 << 10,
|
|
||||||
Bit12 = 1 << 12, // Reserved by PKWARE for enhanced compression
|
|
||||||
Bit14 = 1 << 14, // Reserved by PKWARE
|
|
||||||
Bit15 = 1 << 15, // Reserved by PKWARE
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Internal file attributes used by archives
|
|
||||||
/// </summary>
|
|
||||||
[Flags]
|
|
||||||
public enum InternalFileAttributes : ushort
|
|
||||||
{
|
|
||||||
ASCIIOrTextFile = 1 << 0,
|
|
||||||
RecordLengthControl = 1 << 1,
|
|
||||||
|
|
||||||
// Reserved and unused (SHOULD NOT BE USED)
|
|
||||||
Bit1 = 1 << 1,
|
|
||||||
Bit2 = 1 << 2,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// RAR archive flags
|
|
||||||
/// </summary>
|
|
||||||
[Flags]
|
|
||||||
public enum RarArchiveFlags : uint
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Volume. Archive is a part of multivolume set.
|
|
||||||
/// </summary>
|
|
||||||
Volume = 1 << 0,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Volume number field is present. This flag is present in all volumes except first.
|
|
||||||
/// </summary>
|
|
||||||
VolumeNumberField = 1 << 1,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Solid archive.
|
|
||||||
/// </summary>
|
|
||||||
Solid = 1 << 2,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Recovery record is present.
|
|
||||||
/// </summary>
|
|
||||||
RecoveryRecordPresent = 1 << 3,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Locked archive.
|
|
||||||
/// </summary>
|
|
||||||
Locked = 1 << 4,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// RAR entry encryption flags
|
|
||||||
/// </summary>
|
|
||||||
[Flags]
|
|
||||||
public enum RarEncryptionFlags : uint
|
|
||||||
{
|
|
||||||
PasswordCheckDataPresent = 1 << 0,
|
|
||||||
UseTweakedChecksums = 1 << 1,
|
|
||||||
|
|
||||||
/*
|
|
||||||
If flag 0x0002 is present, RAR transforms the checksum preserving file or service data integrity, so it becomes dependent on
|
|
||||||
encryption key. It makes guessing file contents based on checksum impossible. It affects both data CRC32 in file header and
|
|
||||||
checksums in file hash record in extra area.
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// RAR file flags
|
|
||||||
/// </summary>
|
|
||||||
[Flags]
|
|
||||||
public enum RarFileFlags : uint
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Directory file system object (file header only)
|
|
||||||
/// </summary>
|
|
||||||
Directory = 1 << 0,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Time field in Unix format is present
|
|
||||||
/// </summary>
|
|
||||||
TimeInUnix = 1 << 1,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// CRC32 field is present
|
|
||||||
/// </summary>
|
|
||||||
CRCPresent = 1 << 2,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Unpacked size is unknown
|
|
||||||
/// </summary>
|
|
||||||
UnpackedSizeUnknown = 1 << 3,
|
|
||||||
|
|
||||||
/*
|
|
||||||
If flag 0x0008 is set, unpacked size field is still present, but must be ignored and extraction
|
|
||||||
must be performed until reaching the end of compression stream. This flag can be set if actual
|
|
||||||
file size is larger than reported by OS or if file size is unknown such as for all volumes except
|
|
||||||
last when archiving from stdin to multivolume archive
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// RAR header flags
|
|
||||||
/// </summary>
|
|
||||||
[Flags]
|
|
||||||
public enum RarHeaderFlags : uint
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Extra area is present in the end of header
|
|
||||||
/// </summary>
|
|
||||||
ExtraAreaPresent = 1 << 0,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Data area is present in the end of header
|
|
||||||
/// </summary>
|
|
||||||
DataAreaPresent = 1 << 1,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Blocks with unknown type and this flag must be skipped when updating an archive
|
|
||||||
/// </summary>
|
|
||||||
BlocksWithUnknownType = 1 << 2,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Data area is continuing from previous volume
|
|
||||||
/// </summary>
|
|
||||||
DataAreaContinuingFromPrevious = 1 << 3,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Data area is continuing in next volume
|
|
||||||
/// </summary>
|
|
||||||
DataAreaContinuingToNext = 1 << 4,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Block depends on preceding file block
|
|
||||||
/// </summary>
|
|
||||||
BlockDependsOnPreceding = 1 << 5,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Preserve a child block if host block is modified
|
|
||||||
/// </summary>
|
|
||||||
PreserveChildBlock = 1 << 6,
|
|
||||||
}
|
|
||||||
|
|
||||||
[Flags]
|
|
||||||
public enum RarUnixOwnerRecordFlags : uint
|
|
||||||
{
|
|
||||||
UserNameStringIsPresent = 1 << 0,
|
|
||||||
GroupNameStringIsPresent = 1 << 1,
|
|
||||||
NumericUserIdIsPresent = 1 << 2,
|
|
||||||
NumericGroupIdIsPresent = 1 << 3,
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// RAR entry time flags
|
|
||||||
/// </summary>
|
|
||||||
[Flags]
|
|
||||||
public enum RarTimeFlags : uint
|
|
||||||
{
|
|
||||||
TimeInUnixFormat = 1 << 0,
|
|
||||||
ModificationTimePresent = 1 << 1,
|
|
||||||
CreationTimePresent = 1 << 2,
|
|
||||||
LastAccessTimePresent = 1 << 3,
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
#region DatFile related
|
#region DatFile related
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user