3 writes to _header
System.Formats.Tar (3)
System\Formats\Tar\TarEntry.cs (3)
32
_header
= header;
49
_header
= new TarHeader(format, entryName, TarHelpers.GetDefaultMode(entryType), DateTimeOffset.UtcNow, entryType);
66
_header
= new TarHeader(format, compatibleEntryType, other._header);
128 references to _header
System.Formats.Tar (128)
System\Formats\Tar\GnuTarEntry.cs (8)
57
_header
._aTime = gnuOther.AccessTime;
58
_header
._cTime = gnuOther.ChangeTime;
62
Debug.Assert(
_header
._aTime == default);
63
Debug.Assert(
_header
._cTime == default);
76
get =>
_header
._aTime;
79
_header
._aTime = value;
92
get =>
_header
._cTime;
95
_header
._cTime = value;
System\Formats\Tar\PaxGlobalExtendedAttributesTarEntry.cs (2)
29
_header
.AddExtendedAttributes(globalExtendedAttributes);
35
public IReadOnlyDictionary<string, string> GlobalExtendedAttributes => field ??=
_header
.ExtendedAttributes.AsReadOnly();
System\Formats\Tar\PaxTarEntry.cs (12)
40
_header
._prefix = string.Empty;
71
_header
._prefix = string.Empty;
72
_header
.ReplaceNormalAttributesWithExtended(extendedAttributes);
75
_header
._name = entryName;
76
_header
.ExtendedAttributes[TarHeader.PaxEaName] = entryName;
91
if (other.
_header
._format is TarEntryFormat.Ustar or TarEntryFormat.Pax)
93
_header
._prefix = other.
_header
._prefix;
98
_header
.ReplaceNormalAttributesWithExtended(paxOther.ExtendedAttributes);
104
_header
.ExtendedAttributes[TarHeader.PaxEaATime] = TarHelpers.GetTimestampStringFromDateTimeOffset(gnuOther.AccessTime);
108
_header
.ExtendedAttributes[TarHeader.PaxEaCTime] = TarHelpers.GetTimestampStringFromDateTimeOffset(gnuOther.ChangeTime);
129
public IReadOnlyDictionary<string, string> ExtendedAttributes => field ??=
_header
.GetPopulatedExtendedAttributes().AsReadOnly();
System\Formats\Tar\PosixTarEntry.cs (30)
25
_header
._uName = string.Empty;
26
_header
._gName = string.Empty;
27
_header
._devMajor = 0;
28
_header
._devMinor = 0;
37
Debug.Assert(other.
_header
._uName != null);
38
Debug.Assert(other.
_header
._gName != null);
39
_header
._uName = other.
_header
._uName;
40
_header
._gName = other.
_header
._gName;
41
_header
._devMajor = other.
_header
._devMajor;
42
_header
._devMinor = other.
_header
._devMinor;
44
_header
._uName ??= string.Empty;
45
_header
._gName ??= string.Empty;
56
get =>
_header
._devMajor;
59
if (
_header
._typeFlag is not TarEntryType.BlockDevice and not TarEntryType.CharacterDevice)
70
_header
._devMajor = value;
71
_header
.SyncNumericExtendedAttribute(TarHeader.PaxEaDevMajor, value, TarHeader.Octal8ByteFieldMaxValue);
83
get =>
_header
._devMinor;
86
if (
_header
._typeFlag is not TarEntryType.BlockDevice and not TarEntryType.CharacterDevice)
97
_header
._devMinor = value;
98
_header
.SyncNumericExtendedAttribute(TarHeader.PaxEaDevMinor, value, TarHeader.Octal8ByteFieldMaxValue);
109
get =>
_header
._gName ?? string.Empty;
113
_header
._gName = value;
114
_header
.SyncStringExtendedAttribute(TarHeader.PaxEaGName, value, FieldLengths.GName);
125
get =>
_header
._uName ?? string.Empty;
129
_header
._uName = value;
130
_header
.SyncStringExtendedAttribute(TarHeader.PaxEaUName, value, FieldLengths.UName);
System\Formats\Tar\TarEntry.cs (37)
24
protected bool FormatIsOctalOnly =>
_header
._format is TarEntryFormat.V7 or TarEntryFormat.Ustar;
66
_header = new TarHeader(format, compatibleEntryType, other.
_header
);
72
public int Checksum =>
_header
._checksum;
77
public TarEntryType EntryType =>
_header
._typeFlag;
82
public TarEntryFormat Format =>
_header
._format;
90
get =>
_header
._gid;
93
_header
._gid = value;
94
_header
.SyncNumericExtendedAttribute(TarHeader.PaxEaGid, value, TarHeader.Octal8ByteFieldMaxValue);
105
get =>
_header
._mTime;
112
_header
._mTime = value;
113
_header
.SyncTimestampExtendedAttribute(TarHeader.PaxEaMTime, value);
121
public long Length =>
_header
._gnuSparseDataStream?.Length ?? (
_header
._dataStream is not null ?
_header
._dataStream.Length :
_header
._size);
132
get =>
_header
._linkName ?? string.Empty;
135
if (
_header
._typeFlag is not TarEntryType.HardLink and not TarEntryType.SymbolicLink)
140
_header
._linkName = value;
141
_header
.SyncStringExtendedAttribute(TarHeader.PaxEaLinkName, value);
153
get => (UnixFileMode)(
_header
._mode & (int)TarHelpers.ValidUnixFileModes);
160
_header
._mode = (int)value;
170
get =>
_header
._name;
174
_header
._name = value;
175
_header
.SyncStringExtendedAttribute(TarHeader.PaxEaName, value);
185
get =>
_header
._uid;
188
_header
._uid = value;
189
_header
.SyncNumericExtendedAttribute(TarHeader.PaxEaUid, value, TarHeader.Octal8ByteFieldMaxValue);
270
get => (Stream?)
_header
._gnuSparseDataStream ??
_header
._dataStream;
295
_header
._gnuSparseDataStream?.Dispose();
296
_header
._gnuSparseDataStream = null;
297
_header
._dataStream?.Dispose();
299
_header
._dataStream = value;
310
public long DataOffset =>
_header
._dataOffset;
674
if (
_header
._gnuSparseDataStream is GnuSparseStream { Position: 0 } sparseStream)
704
if (
_header
._gnuSparseDataStream is GnuSparseStream { Position: 0 } sparseStream)
742
PreallocationSize =
_header
._gnuSparseDataStream is null ? Length : 0,
System\Formats\Tar\TarEntry.Unix.cs (4)
17
Interop.CheckIo(Interop.Sys.CreateBlockDevice(destinationFileName, (uint)Mode, (uint)
_header
._devMajor, (uint)
_header
._devMinor), destinationFileName);
24
Interop.CheckIo(Interop.Sys.CreateCharacterDevice(destinationFileName, (uint)Mode, (uint)
_header
._devMajor, (uint)
_header
._devMinor), destinationFileName);
System\Formats\Tar\TarReader.cs (6)
175
Debug.Assert(_previouslyReadEntry.
_header
._endOfHeaderAndDataAndBlockAlignment > 0);
176
_archiveStream.Position = _previouslyReadEntry.
_header
._endOfHeaderAndDataAndBlockAlignment;
178
else if (_previouslyReadEntry.
_header
._size > 0)
185
if (_previouslyReadEntry.
_header
._dataStream is not SubReadStream dataStream)
203
await TarHelpers.SkipBlockAlignmentPaddingCoreAsync<TAdapter>(_archiveStream, _previouslyReadEntry.
_header
._size, cancellationToken).ConfigureAwait(false);
393
if (entry.
_header
._dataStream is SubReadStream dataStream)
System\Formats\Tar\TarWriter.cs (14)
200
if (entry.
_header
._dataStream != null)
202
await TAdapter.DisposeAsync(entry.
_header
._dataStream).ConfigureAwait(false);
248
ValidateEntryLinkName(entry.
_header
._typeFlag, entry.
_header
._linkName);
300
ValidateEntryLinkName(entry.
_header
._typeFlag, entry.
_header
._linkName);
316
TarEntryFormat.V7 => entry.
_header
.WriteAsV7CoreAsync<TAdapter>(_archiveStream, buffer, cancellationToken),
317
TarEntryFormat.Ustar => entry.
_header
.WriteAsUstarCoreAsync<TAdapter>(_archiveStream, buffer, cancellationToken),
318
TarEntryFormat.Pax when entry.
_header
._typeFlag is TarEntryType.GlobalExtendedAttributes => entry.
_header
.WriteAsPaxGlobalExtendedAttributesCoreAsync<TAdapter>(_archiveStream, buffer, _nextGlobalExtendedAttributesEntryNumber++, cancellationToken),
319
TarEntryFormat.Pax => entry.
_header
.WriteAsPaxCoreAsync<TAdapter>(_archiveStream, buffer, cancellationToken),
320
TarEntryFormat.Gnu => entry.
_header
.WriteAsGnuCoreAsync<TAdapter>(_archiveStream, buffer, cancellationToken),
366
if (!_archiveStream.CanSeek && entry.
_header
._dataStream != null && !entry.
_header
._dataStream.CanSeek)
System\Formats\Tar\TarWriter.Unix.cs (10)
83
entry.
_header
._devMajor = (int)major;
84
entry.
_header
._devMinor = (int)minor;
87
entry.
_header
._mTime = TarHelpers.GetDateTimeOffsetFromSecondsSinceEpoch(status.MTime);
95
entry.
_header
._mode = status.Mode & (int)TarHelpers.ValidUnixFileModes;
98
entry.
_header
._uid = (int)status.Uid;
104
entry.
_header
._uName = uName;
107
entry.
_header
._gid = (int)status.Gid;
115
entry.
_header
._gName = gName;
130
Debug.Assert(entry.
_header
._dataStream == null);
131
entry.
_header
._dataStream = new FileStream(fullPath, FileMode.Open, FileAccess.Read, FileShare.Read, 4096, fileOptions);
System\Formats\Tar\UstarTarEntry.cs (5)
35
_header
._prefix = string.Empty;
47
if (other.
_header
._format is TarEntryFormat.Ustar or TarEntryFormat.Pax)
49
_header
._prefix = other.
_header
._prefix;
53
_header
._prefix = string.Empty;