12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- using System;
- using System.IO;
- namespace SharpCompress.Common.Zip.Headers
- {
- internal class Zip64DirectoryEndHeader : ZipHeader
- {
- public Zip64DirectoryEndHeader()
- : base(ZipHeaderType.Zip64DirectoryEnd)
- {
- }
- internal override void Read(BinaryReader reader)
- {
- SizeOfDirectoryEndRecord = (long)reader.ReadUInt64();
- VersionMadeBy = reader.ReadUInt16();
- VersionNeededToExtract = reader.ReadUInt16();
- VolumeNumber = reader.ReadUInt32();
- FirstVolumeWithDirectory = reader.ReadUInt32();
- TotalNumberOfEntriesInDisk = (long)reader.ReadUInt64();
- TotalNumberOfEntries = (long)reader.ReadUInt64();
- DirectorySize = (long)reader.ReadUInt64();
- DirectoryStartOffsetRelativeToDisk = (long)reader.ReadUInt64();
- DataSector = reader.ReadBytes((int)(SizeOfDirectoryEndRecord - SIZE_OF_FIXED_HEADER_DATA_EXCEPT_SIGNATURE_AND_SIZE_FIELDS));
- }
- private const int SIZE_OF_FIXED_HEADER_DATA_EXCEPT_SIGNATURE_AND_SIZE_FIELDS = 44;
- public long SizeOfDirectoryEndRecord { get; private set; }
- public ushort VersionMadeBy { get; private set; }
- public ushort VersionNeededToExtract { get; private set; }
- public uint VolumeNumber { get; private set; }
- public uint FirstVolumeWithDirectory { get; private set; }
- public long TotalNumberOfEntriesInDisk { get; private set; }
- public long TotalNumberOfEntries { get; private set; }
- public long DirectorySize { get; private set; }
- public long DirectoryStartOffsetRelativeToDisk { get; private set; }
- public byte[] DataSector { get; private set; }
- }
- }
|