Files
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

31 lines
1.1 KiB
C#

namespace SabreTools.Data.Models.ISO9660
{
/// <summary>
/// Abstract ISO9660 Volume Descriptor
/// Each VolumeDescriptor consists of 1 logical sector (usually 2048 bytes)
/// The first 7 bytes are a fixed header, the remaining bytes are application specific
/// </summary>
/// <see href="https://ecma-international.org/wp-content/uploads/ECMA-119_5th_edition_december_2024.pdf"/>
public abstract class VolumeDescriptor
{
/// <summary>
/// The type of VolumeDescriptor
/// </summary>
public VolumeDescriptorType Type { get; set; }
/// <summary>
/// 5-byte magic
/// Set to Constants.StandardIdentifier ("CD001")
/// On non-ISO9660 CD-i discs, set to Constants.StandardIdentifierCDI ("CD-I ")
/// </summary>
public byte[] Identifier { get; set; } = new byte[5];
/// <summary>
/// The Volume Descriptor version number
/// 1 for all specific Volume Descriptors other than Enhanced Volume Descriptor
/// 2 for Enhanced Volume Descriptor (including Joliet)
/// </summary>
public byte Version { get; set; }
}
}