67 references to Pax
System.Formats.Tar (67)
System\Formats\Tar\GnuTarEntry.cs (1)
45
/// <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>
System\Formats\Tar\PaxGlobalExtendedAttributesTarEntry.cs (2)
16
: base(header, readerOfOrigin, TarEntryFormat.
Pax
)
26
: base(TarEntryType.GlobalExtendedAttributes, nameof(PaxGlobalExtendedAttributesTarEntry), TarEntryFormat.
Pax
, isGea: true) // Name == name of type for lack of a better temporary name until the entry is written
System\Formats\Tar\PaxTarEntry.cs (5)
17
: base(header, readerOfOrigin, TarEntryFormat.
Pax
)
38
: base(entryType, entryName, TarEntryFormat.
Pax
, isGea: false)
66
: base(entryType, entryName, TarEntryFormat.
Pax
, isGea: false)
84
: base(other, TarEntryFormat.
Pax
)
86
if (other._header._format is TarEntryFormat.Ustar or TarEntryFormat.
Pax
)
System\Formats\Tar\PosixTarEntry.cs (1)
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).
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 (1)
14
/// <para>This entry type is specific to the <see cref="TarEntryFormat.Ustar"/>, <see cref="TarEntryFormat.
Pax
"/> and <see cref="TarEntryFormat.Gnu"/> formats.</para>
System\Formats\Tar\TarFile.cs (2)
330
using (TarWriter writer = new TarWriter(destination, TarEntryFormat.
Pax
, leaveOpen))
384
TarWriter writer = new TarWriter(destination, TarEntryFormat.
Pax
, leaveOpen);
System\Formats\Tar\TarHeader.cs (2)
139
TarEntryFormat.Ustar or TarEntryFormat.
Pax
=> UstarMagic,
146
TarEntryFormat.Ustar or TarEntryFormat.
Pax
=> UstarVersion,
System\Formats\Tar\TarHeader.Read.cs (3)
79
Debug.Assert(header._format is TarEntryFormat.Ustar or TarEntryFormat.
Pax
or TarEntryFormat.Gnu);
412
TarEntryType.GlobalExtendedAttributes => TarEntryFormat.
Pax
,
499
case TarEntryFormat.Ustar or TarEntryFormat.
Pax
:
System\Formats\Tar\TarHeader.Write.cs (17)
82
TarEntryFormat.Ustar or TarEntryFormat.
Pax
=> FieldLocations.PosixData,
134
TarEntryFormat.Ustar or TarEntryFormat.
Pax
=> FieldLocations.PosixData,
283
TarHeader extendedAttributesHeader = new(TarEntryFormat.
Pax
);
290
WriteWithUnseekableDataStream(TarEntryFormat.
Pax
, tempStream, buffer, shouldAdvanceToEnd: false);
314
WriteWithSeekableDataStream(TarEntryFormat.
Pax
, archiveStream, buffer);
327
TarHeader extendedAttributesHeader = new(TarEntryFormat.
Pax
);
334
await WriteWithUnseekableDataStreamAsync(TarEntryFormat.
Pax
, tempStream, buffer, shouldAdvanceToEnd: false, cancellationToken).ConfigureAwait(false);
358
await WriteWithSeekableDataStreamAsync(TarEntryFormat.
Pax
, archiveStream, buffer, cancellationToken).ConfigureAwait(false);
500
WriteWithSeekableDataStream(TarEntryFormat.
Pax
, archiveStream, buffer);
509
return WriteWithSeekableDataStreamAsync(TarEntryFormat.
Pax
, archiveStream, buffer, cancellationToken);
530
tmpChecksum += WriteCommonFields(buffer, TarHelpers.GetCorrectTypeFlagForFormat(TarEntryFormat.
Pax
, _typeFlag));
548
case TarEntryFormat.
Pax
:
686
if (_format is not TarEntryFormat.
Pax
and not TarEntryFormat.Gnu)
744
if (_format is not TarEntryFormat.
Pax
)
762
if (_format is not TarEntryFormat.
Pax
)
1138
if (isOctalRange || _format == TarEntryFormat.
Pax
)
1164
if (isOctalRange || _format == TarEntryFormat.
Pax
)
System\Formats\Tar\TarHelpers.cs (1)
342
case TarEntryFormat.
Pax
:
System\Formats\Tar\TarReader.cs (8)
111
/// <para>More than one Global Extended Attributes Entry was found in the current <see cref="TarEntryFormat.
Pax
"/> archive.</para>
113
/// <para>Two or more Extended Attributes entries were found consecutively in the current <see cref="TarEntryFormat.
Pax
"/> archive.</para></exception>
138
TarEntryFormat.
Pax
=> header._typeFlag is TarEntryType.GlobalExtendedAttributes ?
171
/// <para>More than one Global Extended Attributes Entry was found in the current <see cref="TarEntryFormat.
Pax
"/> archive.</para>
173
/// <para>Two or more Extended Attributes entries were found consecutively in the current <see cref="TarEntryFormat.
Pax
"/> archive.</para></exception>
273
TarEntryFormat.
Pax
=> header._typeFlag is TarEntryType.GlobalExtendedAttributes ?
383
actualHeader = TarHeader.TryGetNextHeader(_archiveStream, copyData, TarEntryFormat.
Pax
, processDataBlock: false);
416
TarHeader? actualHeader = await TarHeader.TryGetNextHeaderAsync(_archiveStream, copyData, TarEntryFormat.
Pax
, processDataBlock: false, cancellationToken).ConfigureAwait(false);
System\Formats\Tar\TarWriter.cs (21)
27
/// <remarks>When using this constructor, <see cref="TarEntryFormat.
Pax
"/> is used as the default format of the entries written to the archive using the <see cref="WriteEntry(string, string?)"/> method.</remarks>
30
/// <remarks>The <see cref="TarEntryFormat.
Pax
"/> format is the default format as it is the most flexible and POSIX compatible. This is the only format with which <see cref="TarWriter"/> reads and stores <c>atime</c> and <c>ctime</c> when creating entries from filesystem entries.</remarks>
32
: this(archiveStream, TarEntryFormat.
Pax
, leaveOpen: false)
37
/// Initializes a <see cref="TarWriter"/> instance that can write tar entries to the specified stream and optionally leaves the stream open upon disposal of this instance. When using this constructor, the format of the resulting archive is <see cref="TarEntryFormat.
Pax
"/>.
43
/// <remarks>The <see cref="TarEntryFormat.
Pax
"/> format is the default format as it is the most flexible and POSIX compatible. This is the only format with which <see cref="TarWriter"/> reads and stores <c>atime</c> and <c>ctime</c> when creating entries from filesystem entries.</remarks>
45
: this(archiveStream, TarEntryFormat.
Pax
, leaveOpen)
54
/// <param name="format">The format to use when calling <see cref="WriteEntry(string, string?)"/>. The default value is <see cref="TarEntryFormat.
Pax
"/>.</param>
57
/// <remarks>The recommended format is <see cref="TarEntryFormat.
Pax
"/> for its flexibility.</remarks>
61
/// <remarks>The <see cref="TarEntryFormat.
Pax
"/> format is the default for the other <see cref="TarWriter"/> constructors. This is the recommended format as it is the most flexible and POSIX compatible. This is the only format with which <see cref="TarWriter"/> reads and stores <c>atime</c> and <c>ctime</c> when creating entries from filesystem entries.</remarks>
62
public TarWriter(Stream archiveStream, TarEntryFormat format = TarEntryFormat.
Pax
, bool leaveOpen = false)
71
if (format is not TarEntryFormat.V7 and not TarEntryFormat.Ustar and not TarEntryFormat.
Pax
and not TarEntryFormat.Gnu)
140
/// <para>The entry will be created using the format specified in the <see cref="TarWriter(Stream, TarEntryFormat, bool)"/> constructor, or will use <see cref="TarEntryFormat.
Pax
"/> if other constructors are used.</para>
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>
160
/// <para>The entry will be created using the format specified in the <see cref="TarWriter(Stream, TarEntryFormat, bool)"/> constructor, or will use <see cref="TarEntryFormat.
Pax
"/> if other constructors are used.</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>
233
/// <para>To ensure an entry preserves the <c>atime</c> and <c>ctime</c> values and it is readable by other tools, it is recommended to convert the entry to <see cref="PaxTarEntry"/> instead. In that format, the two values get stored in the <see cref="PaxTarEntry.ExtendedAttributes"/>. The <see cref="TarEntryFormat.
Pax
"/> format is used as the default format by <see cref="TarWriter"/> as it is the most flexible and POSIX compatible.</para>
262
/// <para><see cref="TarEntryFormat.Ustar"/>, <see cref="TarEntryFormat.
Pax
"/> and <see cref="TarEntryFormat.Gnu"/></para>
309
case TarEntryFormat.
Pax
:
345
TarEntryFormat.
Pax
when entry._header._typeFlag is TarEntryType.GlobalExtendedAttributes => entry._header.WriteAsPaxGlobalExtendedAttributesAsync(_archiveStream, buffer, _nextGlobalExtendedAttributesEntryNumber++, cancellationToken),
346
TarEntryFormat.
Pax
=> entry._header.WriteAsPaxAsync(_archiveStream, buffer, cancellationToken),
System\Formats\Tar\TarWriter.Unix.cs (1)
47
TarEntryFormat.
Pax
=> new PaxTarEntry(entryType, entryName),
System\Formats\Tar\UstarTarEntry.cs (1)
47
if (other._header._format is TarEntryFormat.Ustar or TarEntryFormat.
Pax
)