mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-04-05 22:01:33 +00:00
This change looks dramatic, but it's just separating out the already-split namespaces into separate top-level folders. In theory, every single one could be built into their own Nuget package. `SabreTools.Serialization` still builds the normal Nuget package that is used by all other projects and includes all namespaces.
35 lines
1.5 KiB
C#
35 lines
1.5 KiB
C#
namespace SabreTools.Data.Models.PKZIP
|
|
{
|
|
/// <summary>
|
|
/// (per Zbynek Vyskovsky) Defines alignment of data stream of this
|
|
/// entry within the zip archive. Additionally, indicates whether the
|
|
/// compression method should be kept when re-compressing the zip file.
|
|
///
|
|
/// The purpose of this extra field is to align specific resources to
|
|
/// word or page boundaries so they can be easily mapped into memory.
|
|
///
|
|
/// The alignment field (lower 15 bits) defines the minimal alignment
|
|
/// required by the data stream. Bit 15 of alignment field indicates
|
|
/// whether the compression method of this entry can be changed when
|
|
/// recompressing the zip file. The value 0 means the compression method
|
|
/// should not be changed. The value 1 indicates the compression method
|
|
/// may be changed. The padding field contains padding to ensure the correct
|
|
/// alignment. It can be changed at any time when the offset or required
|
|
/// alignment changes. (see https://issues.apache.org/jira/browse/COMPRESS-391)
|
|
/// </summary>
|
|
/// <remarks>Header ID = 0xa11e</remarks>
|
|
/// <see href="https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT"/>
|
|
public class DataStreamAlignment : ExtensibleDataField
|
|
{
|
|
/// <summary>
|
|
/// Required alignment and indicator
|
|
/// </summary>
|
|
public ushort Alignment { get; set; }
|
|
|
|
/// <summary>
|
|
/// 0x00-padding
|
|
/// </summary>
|
|
public byte[] Padding { get; set; } = [];
|
|
}
|
|
}
|