using System.Runtime.InteropServices; namespace DiscImageChef.Filesystems { public partial class OperaFS { [StructLayout(LayoutKind.Sequential, Pack = 1)] struct OperaSuperBlock { /// 0x000, Record type, must be 1 public readonly byte record_type; /// 0x001, 5 bytes, "ZZZZZ" [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)] public byte[] sync_bytes; /// 0x006, Record version, must be 1 public readonly byte record_version; /// 0x007, Volume flags public readonly byte volume_flags; /// 0x008, 32 bytes, volume comment [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] public readonly byte[] volume_comment; /// 0x028, 32 bytes, volume label [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] public readonly byte[] volume_label; /// 0x048, Volume ID public readonly int volume_id; /// 0x04C, Block size in bytes public readonly int block_size; /// 0x050, Blocks in volume public readonly int block_count; /// 0x054, Root directory ID public readonly int root_dirid; /// 0x058, Root directory blocks public readonly int rootdir_blocks; /// 0x05C, Root directory block size public readonly int rootdir_bsize; /// 0x060, Last root directory copy public readonly int last_root_copy; } } }