Files
SabreTools.Serialization/SabreTools.Data.Models/ISO9660/PathTableRecord.cs

43 lines
1.5 KiB
C#
Raw Normal View History

2026-01-27 12:03:01 -05:00
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; }
}
}