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

43 lines
1.5 KiB
C#

namespace SabreTools.Data.Models.ISO9660
{
/// <summary>
/// ISO9660 Path Table Record
/// Each path table record is numbered (starting from 1), which corresponds to the ordinal number of the corresponding directory
/// </summary>
/// <see href="https://ecma-international.org/wp-content/uploads/ECMA-119_5th_edition_december_2024.pdf"/>
public sealed class PathTableRecord
{
/// <summary>
/// Length of Directory Identifier
/// </summary>
public byte DirectoryIdentifierLength { get; set; }
/// <summary>
/// Length of the the extended attribute record
/// </summary>
public byte ExtendedAttributeRecordLength { get; set; }
/// <summary>
/// Location of the first logical block number of the first logical block allocated to the extent
/// </summary>
public int ExtentLocation { get; set; }
/// <summary>
/// Location of the first logical block number of the first logical block allocated to the extent
/// </summary>
public short ParentDirectoryNumber { get; set; }
/// <summary>
/// Directory name
/// Either d-characters or d1-characters, or a single 0x00 byte
/// </summary>
public byte[] DirectoryIdentifier { get; set; } = [];
/// <summary>
/// If DirectoryIdentifierLength is odd, the DirectoryIdentifier is followed by a single padding byte (0x00)
/// Optional field
/// </summary>
public byte? PaddingField { get; set; }
}
}