Files
gmipf 36a67139d9 Add the UDF models (#108)
The ECMA-167 and UDF structures that the UDF reader fills in, split out
of #100. The only change is that the notes on Volume moved from the
summary into the remarks.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 13:31:46 -04:00

50 lines
1.4 KiB
C#

namespace SabreTools.Data.Models.UDF
{
/// <summary>
/// UDF Information Control Block Tag (icbtag, 4/14.6)
/// </summary>
/// <see href="https://ecma-international.org/wp-content/uploads/ECMA-167_3rd_edition_june_1997.pdf"/>
public sealed class ICBTag
{
/// <summary>
/// Prior recorded number of direct entries
/// </summary>
public uint PriorRecordedNumberOfDirectEntries { get; set; }
/// <summary>
/// Strategy type (UDF: 4, or 4096 for write-once media)
/// </summary>
public ushort StrategyType { get; set; }
/// <summary>
/// Strategy parameter, 2 bytes
/// </summary>
public byte[] StrategyParameter { get; set; } = new byte[2];
/// <summary>
/// Maximum number of entries
/// </summary>
public ushort MaximumNumberOfEntries { get; set; }
/// <summary>
/// Reserved, 0x00
/// </summary>
public byte Reserved { get; set; }
/// <summary>
/// File type
/// </summary>
public FileType FileType { get; set; }
/// <summary>
/// Parent ICB location
/// </summary>
public LogicalBlockAddress ParentICBLocation { get; set; } = new();
/// <summary>
/// Flags, the lower 3 bits hold the AllocationDescriptorType
/// </summary>
public ushort Flags { get; set; }
}
}