mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-11-15 17:00:38 +00:00
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>
50 lines
1.4 KiB
C#
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; }
|
|
}
|
|
}
|