Files
SabreTools.Serialization/SabreTools.Data.Models/PKZIP/ZipItMacintoshExtraField.cs
Matt Nadareski 7689c6dd07 Libraries
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.
2026-03-21 16:26:56 -04:00

42 lines
1.3 KiB
C#

namespace SabreTools.Data.Models.PKZIP
{
/// <summary>
/// The following is the layout of the ZipIt extra block
/// for Macintosh. The local-header and central-header versions
/// are identical. This block MUST be present if the file is
/// stored MacBinary-encoded and it SHOULD NOT be used if the file
/// is not stored MacBinary-encoded.
/// </summary>
/// <remarks>Header ID = 0x2605</remarks>
/// <see href="https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT"/>
public class ZipItMacintoshExtraField : ExtensibleDataField
{
/// <summary>
/// "ZPIT" - extra-field signature
/// </summary>
public uint ExtraFieldSignature { get; set; }
/// <summary>
/// Length of FileName
/// </summary>
public byte FnLen { get; set; }
/// <summary>
/// Full Macintosh filename
/// </summary>
public string? FileName { get; set; }
/// <summary>
/// Four-byte Mac file type string
/// </summary>
/// <remarks>4 bytes</remarks>
public byte[] FileType { get; set; } = new byte[4];
/// <summary>
/// Four-byte Mac creator string
/// </summary>
/// <remarks>4 bytes</remarks>
public byte[] Creator { get; set; } = new byte[4];
}
}