64 references to Gnu
System.Formats.Tar (64)
System\Formats\Tar\GnuTarEntry.cs (13)
9
/// <remarks>Even though the <see cref="TarEntryFormat.
Gnu
"/> format is not POSIX compatible, it implements and supports the Unix-specific fields that were defined in the POSIX IEEE P1003.1 standard from 1988: <c>devmajor</c>, <c>devminor</c>, <c>gname</c> and <c>uname</c>.</remarks>
14
: base(header, readerOfOrigin, TarEntryFormat.
Gnu
)
24
/// <para>When creating an instance of <see cref="GnuTarEntry"/> using this constructor, the <see cref="AccessTime"/> and <see cref="ChangeTime"/> properties are set to <see langword="default" />, which in the entry header <c>atime</c> and <c>ctime</c> fields is written as null bytes. This ensures compatibility with other tools that are unable to read the <c>atime</c> and <c>ctime</c> in <see cref="TarEntryFormat.
Gnu
"/> entries, as these two fields are not POSIX compatible because other formats expect the <c>prefix</c> field in the same header location where <see cref="TarEntryFormat.
Gnu
"/> writes <c>atime</c> and <c>ctime</c>.</para>
36
: base(entryType, entryName, TarEntryFormat.
Gnu
, isGea: false)
46
/// <para>When creating an instance of <see cref="GnuTarEntry"/> using this constructor, if <paramref name="other"/> is <see cref="TarEntryFormat.
Gnu
"/> or <see cref="TarEntryFormat.Pax"/>, then the <see cref="AccessTime"/> and <see cref="ChangeTime"/> properties are set to the same values set in <paramref name="other"/>. But if <paramref name="other"/> is of any other format, then <see cref="AccessTime"/> and <see cref="ChangeTime"/> are set to <see langword="default" />, which in the entry header <c>atime</c> and <c>ctime</c> fields is written as null bytes. This ensures compatibility with other tools that are unable to read the <c>atime</c> and <c>ctime</c> in <see cref="TarEntryFormat.
Gnu
"/> entries, as these two fields are not POSIX compatible because other formats expect the <c>prefix</c> field in the same header location where <see cref="TarEntryFormat.
Gnu
"/> writes <c>atime</c> and <c>ctime</c>.</para>
52
: base(other, TarEntryFormat.
Gnu
)
77
/// <para>Setting the value of this property to a value other than <see langword="default"/> may cause problems with other tools that read TAR files, because the <see cref="TarEntryFormat.
Gnu
"/> format writes the <c>atime</c> field where other formats would normally read and write the <c>prefix</c> field in the header. You should only set this property to something other than <see langword="default"/> if this entry will be read by tools that know how to correctly interpret the <c>atime</c> field of the <see cref="TarEntryFormat.
Gnu
"/> format.</para>
93
/// <para>Setting the value of this property to a value other than <see langword="default"/> may cause problems with other tools that read TAR files, because the <see cref="TarEntryFormat.
Gnu
"/> format writes the <c>ctime</c> field where other formats would normally read and write the <c>prefix</c> field in the header. You should only set this property to something other than <see langword="default"/> if this entry will be read by tools that know how to correctly interpret the <c>ctime</c> field of the <see cref="TarEntryFormat.
Gnu
"/> format.</para>
System\Formats\Tar\PosixTarEntry.cs (2)
9
/// Abstract class that represents a tar entry from an archive of a format that is based on the POSIX IEEE P1003.1 standard from 1988. This includes the formats <see cref="TarEntryFormat.Ustar"/> (represented by the <see cref="UstarTarEntry"/> class), <see cref="TarEntryFormat.Pax"/> (represented by the <see cref="PaxTarEntry"/> class) and <see cref="TarEntryFormat.
Gnu
"/> (represented by the <see cref="GnuTarEntry"/> class).
12
/// Even though the <see cref="TarEntryFormat.
Gnu
"/> format is not POSIX compatible, it implements and supports the Unix-specific fields that were defined in that POSIX standard.</remarks>
System\Formats\Tar\TarEntry.cs (1)
15
/// <remarks>All the properties exposed by this class are supported by the <see cref="TarEntryFormat.V7"/>, <see cref="TarEntryFormat.Ustar"/>, <see cref="TarEntryFormat.Pax"/> and <see cref="TarEntryFormat.
Gnu
"/> formats.</remarks>
System\Formats\Tar\TarEntryType.cs (7)
14
/// <para>This entry type is specific to the <see cref="TarEntryFormat.Ustar"/>, <see cref="TarEntryFormat.Pax"/> and <see cref="TarEntryFormat.
Gnu
"/> formats.</para>
46
/// <para>This entry type is specific to the <see cref="TarEntryFormat.
Gnu
"/> format, and is treated as a <see cref="RegularFile"/> entry type.</para>
62
/// <para>This entry type is specific to the <see cref="TarEntryFormat.
Gnu
"/> format, and is treated as a <see cref="Directory"/> entry type that contains a data section.</para>
77
/// <para>This entry type is specific to the <see cref="TarEntryFormat.
Gnu
"/> format and is not supported for writing.</para>
87
/// <para>This entry type is specific to the <see cref="TarEntryFormat.
Gnu
"/> format. It is considered unsafe and is ignored by other tools.</para>
92
/// <para>This entry type is specific to the <see cref="TarEntryFormat.
Gnu
"/> format and is not supported for writing.</para>
97
/// <para>This entry type is specific to the <see cref="TarEntryFormat.
Gnu
"/> format and is not supported for writing.</para>
System\Formats\Tar\TarHeader.cs (2)
144
TarEntryFormat.
Gnu
=> GnuMagic,
151
TarEntryFormat.
Gnu
=> GnuVersion,
System\Formats\Tar\TarHeader.Read.cs (5)
80
Debug.Assert(header._format is TarEntryFormat.Ustar or TarEntryFormat.Pax or TarEntryFormat.
Gnu
);
85
else if (header._format == TarEntryFormat.
Gnu
)
413
TarEntryType.TapeVolume => TarEntryFormat.
Gnu
,
446
_format = TarEntryFormat.
Gnu
;
493
case TarEntryFormat.
Gnu
:
System\Formats\Tar\TarHeader.Write.cs (18)
38
Debug.Assert(format is > TarEntryFormat.Unknown and <= TarEntryFormat.
Gnu
);
54
Debug.Assert(format is > TarEntryFormat.Unknown and <= TarEntryFormat.
Gnu
);
82
TarEntryFormat.
Gnu
=> FieldLocations.GnuData,
134
TarEntryFormat.
Gnu
=> FieldLocations.GnuData,
379
longLinkHeader.WriteWithSeekableDataStream(TarEntryFormat.
Gnu
, archiveStream, buffer);
388
longPathHeader.WriteWithSeekableDataStream(TarEntryFormat.
Gnu
, archiveStream, buffer);
395
WriteWithUnseekableDataStream(TarEntryFormat.
Gnu
, archiveStream, buffer, shouldAdvanceToEnd: true);
399
WriteWithSeekableDataStream(TarEntryFormat.
Gnu
, archiveStream, buffer);
415
await longLinkHeader.WriteWithSeekableDataStreamAsync(TarEntryFormat.
Gnu
, archiveStream, buffer, cancellationToken).ConfigureAwait(false);
424
await longPathHeader.WriteWithSeekableDataStreamAsync(TarEntryFormat.
Gnu
, archiveStream, buffer, cancellationToken).ConfigureAwait(false);
431
await WriteWithUnseekableDataStreamAsync(TarEntryFormat.
Gnu
, archiveStream, buffer, shouldAdvanceToEnd: true, cancellationToken).ConfigureAwait(false);
435
await WriteWithSeekableDataStreamAsync(TarEntryFormat.
Gnu
, archiveStream, buffer, cancellationToken).ConfigureAwait(false);
466
return new(TarEntryFormat.
Gnu
)
486
tmpChecksum += WriteCommonFields(buffer, TarHelpers.GetCorrectTypeFlagForFormat(TarEntryFormat.
Gnu
, _typeFlag));
550
case TarEntryFormat.
Gnu
:
685
if (_format is not TarEntryFormat.Pax and not TarEntryFormat.
Gnu
)
1120
else if (_format == TarEntryFormat.
Gnu
)
1146
else if (_format == TarEntryFormat.
Gnu
)
System\Formats\Tar\TarHelpers.cs (1)
379
case TarEntryFormat.
Gnu
:
System\Formats\Tar\TarReader.cs (7)
140
TarEntryFormat.
Gnu
=> new GnuTarEntry(header, this),
293
TarEntryFormat.
Gnu
=> new GnuTarEntry(header, this),
468
finalHeader = new(TarEntryFormat.
Gnu
);
470
TarHeader? secondHeader = TarHeader.TryGetNextHeader(_archiveStream, copyData, TarEntryFormat.
Gnu
, processDataBlock: true);
488
TarHeader? thirdHeader = TarHeader.TryGetNextHeader(_archiveStream, copyData, TarEntryFormat.
Gnu
, processDataBlock: true);
547
TarHeader? secondHeader = await TarHeader.TryGetNextHeaderAsync(_archiveStream, copyData, TarEntryFormat.
Gnu
, processDataBlock: true, cancellationToken).ConfigureAwait(false);
566
TarHeader? thirdHeader = await TarHeader.TryGetNextHeaderAsync(_archiveStream, copyData, TarEntryFormat.
Gnu
, processDataBlock: true, cancellationToken).ConfigureAwait(false);
System\Formats\Tar\TarWriter.cs (7)
71
if (format is not TarEntryFormat.V7 and not TarEntryFormat.Ustar and not TarEntryFormat.Pax and not TarEntryFormat.
Gnu
)
141
/// <para>If the format is <see cref="TarEntryFormat.Pax"/>, the <c>atime</c> and <c>ctime</c> from the file will be stored in the <see cref="PaxTarEntry.ExtendedAttributes"/> dictionary. If the format is <see cref="TarEntryFormat.
Gnu
"/>, this method will not set a value for <see cref="GnuTarEntry.AccessTime"/> and <see cref="GnuTarEntry.ChangeTime"/> because most TAR tools do not support these fields for this format.</para>
161
/// <para>If the format is <see cref="TarEntryFormat.Pax"/>, the <c>atime</c> and <c>ctime</c> from the file will be stored in the <see cref="PaxTarEntry.ExtendedAttributes"/> dictionary. If the format is <see cref="TarEntryFormat.
Gnu
"/>, this method will not set a value for <see cref="GnuTarEntry.AccessTime"/> and <see cref="GnuTarEntry.ChangeTime"/> because most TAR tools do not support these fields for this format.</para>
214
/// <para><see cref="TarEntryFormat.Ustar"/>, <see cref="TarEntryFormat.Pax"/> and <see cref="TarEntryFormat.
Gnu
"/></para>
262
/// <para><see cref="TarEntryFormat.Ustar"/>, <see cref="TarEntryFormat.Pax"/> and <see cref="TarEntryFormat.
Gnu
"/></para>
320
case TarEntryFormat.
Gnu
:
347
TarEntryFormat.
Gnu
=> entry._header.WriteAsGnuAsync(_archiveStream, buffer, cancellationToken),
System\Formats\Tar\TarWriter.Unix.cs (1)
48
TarEntryFormat.
Gnu
=> new GnuTarEntry(entryType, entryName),