52 lines
1.7 KiB
C#
52 lines
1.7 KiB
C#
|
using System.IO;
|
|||
|
|
|||
|
namespace SharpCompress.Common.Zip.Headers
|
|||
|
{
|
|||
|
internal class DirectoryEndHeader : ZipHeader
|
|||
|
{
|
|||
|
public DirectoryEndHeader()
|
|||
|
: base(ZipHeaderType.DirectoryEnd)
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
internal override void Read(BinaryReader reader)
|
|||
|
{
|
|||
|
VolumeNumber = reader.ReadUInt16();
|
|||
|
FirstVolumeWithDirectory = reader.ReadUInt16();
|
|||
|
TotalNumberOfEntriesInDisk = reader.ReadUInt16();
|
|||
|
TotalNumberOfEntries = reader.ReadUInt16();
|
|||
|
DirectorySize = reader.ReadUInt32();
|
|||
|
DirectoryStartOffsetRelativeToDisk = reader.ReadUInt32();
|
|||
|
CommentLength = reader.ReadUInt16();
|
|||
|
Comment = reader.ReadBytes(CommentLength);
|
|||
|
}
|
|||
|
|
|||
|
internal override void Write(BinaryWriter writer)
|
|||
|
{
|
|||
|
writer.Write(VolumeNumber);
|
|||
|
writer.Write(FirstVolumeWithDirectory);
|
|||
|
writer.Write(TotalNumberOfEntriesInDisk);
|
|||
|
writer.Write(TotalNumberOfEntries);
|
|||
|
writer.Write(DirectorySize);
|
|||
|
writer.Write(DirectoryStartOffsetRelativeToDisk);
|
|||
|
writer.Write(CommentLength);
|
|||
|
writer.Write(Comment);
|
|||
|
}
|
|||
|
|
|||
|
public ushort VolumeNumber { get; private set; }
|
|||
|
|
|||
|
public ushort FirstVolumeWithDirectory { get; private set; }
|
|||
|
|
|||
|
public ushort TotalNumberOfEntriesInDisk { get; private set; }
|
|||
|
|
|||
|
public uint DirectorySize { get; private set; }
|
|||
|
|
|||
|
public uint DirectoryStartOffsetRelativeToDisk { get; private set; }
|
|||
|
|
|||
|
public ushort CommentLength { get; private set; }
|
|||
|
|
|||
|
public byte[] Comment { get; private set; }
|
|||
|
|
|||
|
public ushort TotalNumberOfEntries { get; private set; }
|
|||
|
}
|
|||
|
}
|