Files
SabreTools.Serialization/SabreTools.Data.Models/PIC/DiscInformationUnitHeader.cs
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

48 lines
1.3 KiB
C#

using System.Runtime.InteropServices;
namespace SabreTools.Data.Models.PIC
{
/// <see href="https://www.t10.org/ftp/t10/document.05/05-206r0.pdf"/>
/// <see href="https://github.com/aaru-dps/Aaru.Decoders/blob/devel/Bluray/DI.cs"/>
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public class DiscInformationUnitHeader
{
/// <summary>
/// Disc Information Identifier "DI"
/// Emergency Brake Identifier "EB"
/// </summary>
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 2)]
public string DiscInformationIdentifier = string.Empty;
/// <summary>
/// Disc Information Format
/// </summary>
public byte DiscInformationFormat;
/// <summary>
/// Number of DI units in each DI block
/// </summary>
public byte NumberOfUnitsInBlock;
/// <summary>
/// Should be 0x00
/// </summary>
public byte Reserved0;
/// <summary>
/// DI unit Sequence Number
/// </summary>
public byte SequenceNumber;
/// <summary>
/// Number of bytes in use in this DI unit
/// </summary>
public byte BytesInUse;
/// <summary>
/// Should be 0x00
/// </summary>
public byte Reserved1;
}
}