89 references to FieldLengths
System.Formats.Tar (89)
System\Formats\Tar\FieldLocations.cs (30)
12internal const ushort Mode = FieldLengths.Name; 13internal const ushort Uid = Mode + FieldLengths.Mode; 14internal const ushort Gid = Uid + FieldLengths.Uid; 15internal const ushort Size = Gid + FieldLengths.Gid; 16internal const ushort MTime = Size + FieldLengths.Size; 17internal const ushort Checksum = MTime + FieldLengths.MTime; 18internal const ushort TypeFlag = Checksum + FieldLengths.Checksum; 19internal const ushort LinkName = TypeFlag + FieldLengths.TypeFlag; 23internal const ushort Magic = LinkName + FieldLengths.LinkName; 24internal const ushort Version = Magic + FieldLengths.Magic; 25internal const ushort UName = Version + FieldLengths.Version; 26internal const ushort GName = UName + FieldLengths.UName; 27internal const ushort DevMajor = GName + FieldLengths.GName; 28internal const ushort DevMinor = DevMajor + FieldLengths.DevMajor; 32internal const ushort Prefix = DevMinor + FieldLengths.DevMinor; 36internal const ushort ATime = DevMinor + FieldLengths.DevMinor; 37internal const ushort CTime = ATime + FieldLengths.ATime; 38internal const ushort Offset = CTime + FieldLengths.CTime; 39internal const ushort LongNames = Offset + FieldLengths.Offset; 40internal const ushort Unused = LongNames + FieldLengths.LongNames; 41internal const ushort Sparse = Unused + FieldLengths.Unused; 42internal const ushort IsExtended = Sparse + FieldLengths.Sparse; 43internal const ushort RealSize = IsExtended + FieldLengths.IsExtended; 45internal const ushort GnuUnused = CTime + FieldLengths.CTime; 49internal const ushort V7Padding = LinkName + FieldLengths.LinkName; 50internal const ushort PosixPadding = Prefix + FieldLengths.Prefix; 51internal const ushort GnuPadding = RealSize + FieldLengths.RealSize; 53internal const ushort V7Data = V7Padding + FieldLengths.V7Padding; 54internal const ushort PosixData = PosixPadding + FieldLengths.PosixPadding; 55internal const ushort GnuData = GnuPadding + FieldLengths.GnuPadding;
System\Formats\Tar\TarHeader.Read.cs (17)
369ReadOnlySpan<byte> spanChecksum = buffer.Slice(FieldLocations.Checksum, FieldLengths.Checksum); 381long size = TarHelpers.ParseNumeric<long>(buffer.Slice(FieldLocations.Size, FieldLengths.Size)); 389name: TarHelpers.GetTrimmedUtf8String(buffer.Slice(FieldLocations.Name, FieldLengths.Name)), 390mode: TarHelpers.ParseNumeric<int>(buffer.Slice(FieldLocations.Mode, FieldLengths.Mode)), 391mTime: TarHelpers.GetDateTimeOffsetFromSecondsSinceEpoch(TarHelpers.ParseNumeric<long>(buffer.Slice(FieldLocations.MTime, FieldLengths.MTime))), 396_uid = TarHelpers.ParseNumeric<int>(buffer.Slice(FieldLocations.Uid, FieldLengths.Uid)), 397_gid = TarHelpers.ParseNumeric<int>(buffer.Slice(FieldLocations.Gid, FieldLengths.Gid)), 398_linkName = TarHelpers.GetTrimmedUtf8String(buffer.Slice(FieldLocations.LinkName, FieldLengths.LinkName)) 433ReadOnlySpan<byte> magic = buffer.Slice(FieldLocations.Magic, FieldLengths.Magic); 472ReadOnlySpan<byte> version = buffer.Slice(FieldLocations.Version, FieldLengths.Version); 522_uName = TarHelpers.GetTrimmedUtf8String(buffer.Slice(FieldLocations.UName, FieldLengths.UName)); 523_gName = TarHelpers.GetTrimmedUtf8String(buffer.Slice(FieldLocations.GName, FieldLengths.GName)); 530_devMajor = TarHelpers.ParseNumeric<int>(buffer.Slice(FieldLocations.DevMajor, FieldLengths.DevMajor)); 533_devMinor = TarHelpers.ParseNumeric<int>(buffer.Slice(FieldLocations.DevMinor, FieldLengths.DevMinor)); 542ReadOnlySpan<byte> aTimeBuffer = buffer.Slice(FieldLocations.ATime, FieldLengths.ATime); 548ReadOnlySpan<byte> cTimeBuffer = buffer.Slice(FieldLocations.CTime, FieldLengths.CTime); 562_prefix = TarHelpers.GetTrimmedUtf8String(buffer.Slice(FieldLocations.Prefix, FieldLengths.Prefix));
System\Formats\Tar\TarHeader.Write.cs (42)
362private bool IsLinkNameTooLongForRegularField() => _linkName != null && (Encoding.UTF8.GetByteCount(_linkName) + 1) > FieldLengths.LinkName; 366private bool IsNameTooLongForRegularField() => (Encoding.UTF8.GetByteCount(_name)) > FieldLengths.Name; 563if (encodedLength > FieldLengths.Name) 570int utf16NameTruncatedLength = GetUtf16TruncatedTextLength(name, FieldLengths.Name); 574return WriteAsUtf8String(name, buffer.Slice(FieldLocations.Name, FieldLengths.Name)); 584const int MaxPathName = FieldLengths.Prefix + 1 + FieldLengths.Name; 596if (pathNameBytes.Length <= FieldLengths.Name) 598return WriteLeftAlignedBytesAndGetChecksum(pathNameBytes, buffer.Slice(FieldLocations.Name, FieldLengths.Name)); 618while (prefix.Length - name.Length > FieldLengths.Prefix) 630if (prefix.Length <= FieldLengths.Prefix && name.Length <= FieldLengths.Name) 634int checksum = WriteLeftAlignedBytesAndGetChecksum(prefix, buffer.Slice(FieldLocations.Prefix, FieldLengths.Prefix)); 635checksum += WriteLeftAlignedBytesAndGetChecksum(name, buffer.Slice(FieldLocations.Name, FieldLengths.Name)); 655checksum += FormatNumeric(_mode, buffer.Slice(FieldLocations.Mode, FieldLengths.Mode)); 660checksum += FormatNumeric(_uid, buffer.Slice(FieldLocations.Uid, FieldLengths.Uid)); 665checksum += FormatNumeric(_gid, buffer.Slice(FieldLocations.Gid, FieldLengths.Gid)); 670checksum += FormatNumeric(_size, buffer.Slice(FieldLocations.Size, FieldLengths.Size)); 673checksum += WriteAsTimestamp(_mTime, buffer.Slice(FieldLocations.MTime, FieldLengths.MTime)); 683if (GetUtf8TextLength(linkName) > FieldLengths.LinkName) 690int truncatedLength = GetUtf16TruncatedTextLength(linkName, FieldLengths.LinkName); 694checksum += WriteAsUtf8String(linkName, buffer.Slice(FieldLocations.LinkName, FieldLengths.LinkName)); 719int checksum = WriteLeftAlignedBytesAndGetChecksum(UstarMagicBytes, buffer.Slice(FieldLocations.Magic, FieldLengths.Magic)); 720checksum += WriteLeftAlignedBytesAndGetChecksum(UstarVersionBytes, buffer.Slice(FieldLocations.Version, FieldLengths.Version)); 727int checksum = WriteLeftAlignedBytesAndGetChecksum(GnuMagicBytes, buffer.Slice(FieldLocations.Magic, FieldLengths.Magic)); 728checksum += WriteLeftAlignedBytesAndGetChecksum(GnuVersionBytes, buffer.Slice(FieldLocations.Version, FieldLengths.Version)); 741if (GetUtf8TextLength(uName) > FieldLengths.UName) 748int truncatedLength = GetUtf16TruncatedTextLength(uName, FieldLengths.UName); 752checksum += WriteAsUtf8String(uName, buffer.Slice(FieldLocations.UName, FieldLengths.UName)); 759if (GetUtf8TextLength(gName) > FieldLengths.GName) 766int truncatedLength = GetUtf16TruncatedTextLength(gName, FieldLengths.GName); 770checksum += WriteAsUtf8String(gName, buffer.Slice(FieldLocations.GName, FieldLengths.GName)); 775checksum += FormatNumeric(_devMajor, buffer.Slice(FieldLocations.DevMajor, FieldLengths.DevMajor)); 780checksum += FormatNumeric(_devMinor, buffer.Slice(FieldLocations.DevMinor, FieldLengths.DevMinor)); 795checksum += WriteAsTimestamp(_aTime, buffer.Slice(FieldLocations.ATime, FieldLengths.ATime)); 799checksum += WriteAsTimestamp(_cTime, buffer.Slice(FieldLocations.CTime, FieldLengths.CTime)); 805checksum += WriteLeftAlignedBytesAndGetChecksum(_gnuUnusedBytes, buffer.Slice(FieldLocations.GnuUnused, FieldLengths.AllGnuUnused)); 960TryAddStringField(ExtendedAttributes, PaxEaGName, _gName, FieldLengths.GName); 961TryAddStringField(ExtendedAttributes, PaxEaUName, _uName, FieldLengths.UName); 1037Span<byte> converted = stackalloc byte[FieldLengths.Checksum]; 1041Span<byte> destination = buffer.Slice(FieldLocations.Checksum, FieldLengths.Checksum); 1225return result.Length >= FieldLengths.Name ?