91 references to FieldLengths
System.Formats.Tar (91)
System\Formats\Tar\FieldLocations.cs (30)
12
internal const ushort Mode =
FieldLengths
.Name;
13
internal const ushort Uid = Mode +
FieldLengths
.Mode;
14
internal const ushort Gid = Uid +
FieldLengths
.Uid;
15
internal const ushort Size = Gid +
FieldLengths
.Gid;
16
internal const ushort MTime = Size +
FieldLengths
.Size;
17
internal const ushort Checksum = MTime +
FieldLengths
.MTime;
18
internal const ushort TypeFlag = Checksum +
FieldLengths
.Checksum;
19
internal const ushort LinkName = TypeFlag +
FieldLengths
.TypeFlag;
23
internal const ushort Magic = LinkName +
FieldLengths
.LinkName;
24
internal const ushort Version = Magic +
FieldLengths
.Magic;
25
internal const ushort UName = Version +
FieldLengths
.Version;
26
internal const ushort GName = UName +
FieldLengths
.UName;
27
internal const ushort DevMajor = GName +
FieldLengths
.GName;
28
internal const ushort DevMinor = DevMajor +
FieldLengths
.DevMajor;
32
internal const ushort Prefix = DevMinor +
FieldLengths
.DevMinor;
36
internal const ushort ATime = DevMinor +
FieldLengths
.DevMinor;
37
internal const ushort CTime = ATime +
FieldLengths
.ATime;
38
internal const ushort Offset = CTime +
FieldLengths
.CTime;
39
internal const ushort LongNames = Offset +
FieldLengths
.Offset;
40
internal const ushort Unused = LongNames +
FieldLengths
.LongNames;
41
internal const ushort Sparse = Unused +
FieldLengths
.Unused;
42
internal const ushort IsExtended = Sparse +
FieldLengths
.Sparse;
43
internal const ushort RealSize = IsExtended +
FieldLengths
.IsExtended;
45
internal const ushort GnuUnused = CTime +
FieldLengths
.CTime;
49
internal const ushort V7Padding = LinkName +
FieldLengths
.LinkName;
50
internal const ushort PosixPadding = Prefix +
FieldLengths
.Prefix;
51
internal const ushort GnuPadding = RealSize +
FieldLengths
.RealSize;
53
internal const ushort V7Data = V7Padding +
FieldLengths
.V7Padding;
54
internal const ushort PosixData = PosixPadding +
FieldLengths
.PosixPadding;
55
internal const ushort GnuData = GnuPadding +
FieldLengths
.GnuPadding;
System\Formats\Tar\TarHeader.Read.cs (20)
368
ReadOnlySpan<byte> spanChecksum = buffer.Slice(FieldLocations.Checksum,
FieldLengths
.Checksum);
387
long size = TarHelpers.ParseNumeric<long>(buffer.Slice(FieldLocations.Size,
FieldLengths
.Size));
395
name: TarHelpers.ParseUtf8String(buffer.Slice(FieldLocations.Name,
FieldLengths
.Name)),
396
mode: TarHelpers.ParseNumeric<int>(buffer.Slice(FieldLocations.Mode,
FieldLengths
.Mode)),
397
mTime: ParseAsTimestamp(buffer.Slice(FieldLocations.MTime,
FieldLengths
.MTime)),
402
_uid = TarHelpers.ParseNumeric<int>(buffer.Slice(FieldLocations.Uid,
FieldLengths
.Uid)),
403
_gid = TarHelpers.ParseNumeric<int>(buffer.Slice(FieldLocations.Gid,
FieldLengths
.Gid)),
404
_linkName = TarHelpers.ParseUtf8String(buffer.Slice(FieldLocations.LinkName,
FieldLengths
.LinkName))
445
calculatedChecksum += (byte)' ' *
FieldLengths
.Checksum;
448
calculatedChecksum += Checksum(buffer.Slice(FieldLocations.Checksum +
FieldLengths
.Checksum, TarHelpers.RecordSize - (FieldLocations.Checksum +
FieldLengths
.Checksum)));
457
ReadOnlySpan<byte> magic = buffer.Slice(FieldLocations.Magic,
FieldLengths
.Magic);
496
ReadOnlySpan<byte> version = buffer.Slice(FieldLocations.Version,
FieldLengths
.Version);
546
_uName = TarHelpers.ParseUtf8String(buffer.Slice(FieldLocations.UName,
FieldLengths
.UName));
547
_gName = TarHelpers.ParseUtf8String(buffer.Slice(FieldLocations.GName,
FieldLengths
.GName));
554
_devMajor = TarHelpers.ParseNumeric<int>(buffer.Slice(FieldLocations.DevMajor,
FieldLengths
.DevMajor));
557
_devMinor = TarHelpers.ParseNumeric<int>(buffer.Slice(FieldLocations.DevMinor,
FieldLengths
.DevMinor));
565
_aTime = ParseAsTimestamp(buffer.Slice(FieldLocations.ATime,
FieldLengths
.ATime));
567
_cTime = ParseAsTimestamp(buffer.Slice(FieldLocations.CTime,
FieldLengths
.CTime));
589
_prefix = TarHelpers.ParseUtf8String(buffer.Slice(FieldLocations.Prefix,
FieldLengths
.Prefix));
System\Formats\Tar\TarHeader.Write.cs (41)
363
private bool IsLinkNameTooLongForRegularField() => _linkName != null && (Encoding.UTF8.GetByteCount(_linkName) + 1) >
FieldLengths
.LinkName;
367
private bool IsNameTooLongForRegularField() => (Encoding.UTF8.GetByteCount(_name)) >
FieldLengths
.Name;
564
if (encodedLength >
FieldLengths
.Name)
571
int utf16NameTruncatedLength = GetUtf16TruncatedTextLength(name,
FieldLengths
.Name);
575
return WriteAsUtf8String(name, buffer.Slice(FieldLocations.Name,
FieldLengths
.Name));
585
const int MaxPathName =
FieldLengths
.Prefix + 1 +
FieldLengths
.Name;
597
if (pathNameBytes.Length <=
FieldLengths
.Name)
599
return WriteLeftAlignedBytesAndGetChecksum(pathNameBytes, buffer.Slice(FieldLocations.Name,
FieldLengths
.Name));
619
while (prefix.Length - name.Length >
FieldLengths
.Prefix)
631
if (prefix.Length <=
FieldLengths
.Prefix && name.Length <=
FieldLengths
.Name)
635
int checksum = WriteLeftAlignedBytesAndGetChecksum(prefix, buffer.Slice(FieldLocations.Prefix,
FieldLengths
.Prefix));
636
checksum += WriteLeftAlignedBytesAndGetChecksum(name, buffer.Slice(FieldLocations.Name,
FieldLengths
.Name));
656
checksum += FormatNumeric(_mode, buffer.Slice(FieldLocations.Mode,
FieldLengths
.Mode));
661
checksum += FormatNumeric(_uid, buffer.Slice(FieldLocations.Uid,
FieldLengths
.Uid));
666
checksum += FormatNumeric(_gid, buffer.Slice(FieldLocations.Gid,
FieldLengths
.Gid));
671
checksum += FormatNumeric(_size, buffer.Slice(FieldLocations.Size,
FieldLengths
.Size));
674
checksum += WriteAsTimestamp(_mTime, buffer.Slice(FieldLocations.MTime,
FieldLengths
.MTime));
684
if (GetUtf8TextLength(linkName) >
FieldLengths
.LinkName)
691
int truncatedLength = GetUtf16TruncatedTextLength(linkName,
FieldLengths
.LinkName);
695
checksum += WriteAsUtf8String(linkName, buffer.Slice(FieldLocations.LinkName,
FieldLengths
.LinkName));
720
int checksum = WriteLeftAlignedBytesAndGetChecksum(UstarMagicBytes, buffer.Slice(FieldLocations.Magic,
FieldLengths
.Magic));
721
checksum += WriteLeftAlignedBytesAndGetChecksum(UstarVersionBytes, buffer.Slice(FieldLocations.Version,
FieldLengths
.Version));
728
int checksum = WriteLeftAlignedBytesAndGetChecksum(GnuMagicBytes, buffer.Slice(FieldLocations.Magic,
FieldLengths
.Magic));
729
checksum += WriteLeftAlignedBytesAndGetChecksum(GnuVersionBytes, buffer.Slice(FieldLocations.Version,
FieldLengths
.Version));
742
if (GetUtf8TextLength(uName) >
FieldLengths
.UName)
749
int truncatedLength = GetUtf16TruncatedTextLength(uName,
FieldLengths
.UName);
753
checksum += WriteAsUtf8String(uName, buffer.Slice(FieldLocations.UName,
FieldLengths
.UName));
760
if (GetUtf8TextLength(gName) >
FieldLengths
.GName)
767
int truncatedLength = GetUtf16TruncatedTextLength(gName,
FieldLengths
.GName);
771
checksum += WriteAsUtf8String(gName, buffer.Slice(FieldLocations.GName,
FieldLengths
.GName));
776
checksum += FormatNumeric(_devMajor, buffer.Slice(FieldLocations.DevMajor,
FieldLengths
.DevMajor));
781
checksum += FormatNumeric(_devMinor, buffer.Slice(FieldLocations.DevMinor,
FieldLengths
.DevMinor));
794
checksum += WriteAsTimestamp(_aTime, buffer.Slice(FieldLocations.ATime,
FieldLengths
.ATime));
795
checksum += WriteAsTimestamp(_cTime, buffer.Slice(FieldLocations.CTime,
FieldLengths
.CTime));
950
TryAddStringField(ExtendedAttributes, PaxEaGName, _gName,
FieldLengths
.GName);
951
TryAddStringField(ExtendedAttributes, PaxEaUName, _uName,
FieldLengths
.UName);
1027
Span<byte> converted = stackalloc byte[
FieldLengths
.Checksum];
1031
Span<byte> destination = buffer.Slice(FieldLocations.Checksum,
FieldLengths
.Checksum);
1253
return result.Length >=
FieldLengths
.Name ?