28 lines
978 B
C#
28 lines
978 B
C#
using SharpCompress.IO;
|
|
|
|
namespace SharpCompress.Common.Rar.Headers
|
|
{
|
|
// ProtectHeader is part of the Recovery Record feature
|
|
internal class ProtectHeader : RarHeader
|
|
{
|
|
public ProtectHeader(RarHeader header, RarCrcBinaryReader reader)
|
|
: base(header, reader, HeaderType.Protect)
|
|
{
|
|
if (IsRar5) throw new InvalidFormatException("unexpected rar5 record");
|
|
}
|
|
|
|
protected override void ReadFinish(MarkingBinaryReader reader)
|
|
{
|
|
Version = reader.ReadByte();
|
|
RecSectors = reader.ReadUInt16();
|
|
TotalBlocks = reader.ReadUInt32();
|
|
Mark = reader.ReadBytes(8);
|
|
}
|
|
|
|
internal uint DataSize => checked((uint)AdditionalDataSize);
|
|
internal byte Version { get; private set; }
|
|
internal ushort RecSectors { get; private set; }
|
|
internal uint TotalBlocks { get; private set; }
|
|
internal byte[] Mark { get; private set; }
|
|
}
|
|
} |