mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
132 lines
4.5 KiB
C#
132 lines
4.5 KiB
C#
using System.Runtime.InteropServices;
|
|
|
|
namespace Aaru.Archives;
|
|
|
|
public sealed partial class Stfs
|
|
{
|
|
#region Nested type: ConsolePackage
|
|
|
|
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode, Pack = 1)]
|
|
struct ConsolePackage
|
|
{
|
|
public PackageMagic Magic;
|
|
public ushort PkCertificateSize;
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
|
|
public byte[] CertificateOwnerConsoleId;
|
|
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 20)]
|
|
public string CertificateOwnerConsolePartNumber;
|
|
public ConsoleType CertificateOwnerConsoleType;
|
|
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)]
|
|
public string CertificateDateOfGeneration;
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
|
|
public byte[] PublicExponent;
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)]
|
|
public byte[] PublicModulus;
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
|
|
public byte[] CertificateSignature;
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)]
|
|
public byte[] Signature;
|
|
public Metadata Metadata;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Nested type: LicenseEntry
|
|
|
|
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode, Pack = 1)]
|
|
struct LicenseEntry
|
|
{
|
|
public long LicenseId;
|
|
public int LicenseBits;
|
|
public int LicenseFlags;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Nested type: LocalizedString
|
|
|
|
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode, Pack = 1)]
|
|
struct LocalizedString
|
|
{
|
|
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)]
|
|
public string Name;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Nested type: Metadata
|
|
|
|
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode, Pack = 1)]
|
|
struct Metadata
|
|
{
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
|
|
public LicenseEntry[] Licensing;
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
|
|
public byte[] HeaderSha1Hash;
|
|
public uint HeaderSize;
|
|
public ContentType ContentType;
|
|
public int MetadataVersion;
|
|
public long ContentSize;
|
|
public int MediaId;
|
|
public int Version;
|
|
public int BaseVersion;
|
|
public int TitleId;
|
|
public byte Platform;
|
|
public byte ExecutableType;
|
|
public byte DiscNumber;
|
|
public byte DiscInSet;
|
|
public int SaveGameId;
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
|
|
public byte[] ConsoleId;
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
|
|
public byte[] ProfileId;
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 36)]
|
|
public byte[] VolumeDescriptor;
|
|
public int DataFileCount;
|
|
public long DataFileCombinedSize;
|
|
public int DescriptorType;
|
|
public int Reserved;
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
|
|
public byte[] SeriesId;
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
|
|
public byte[] SeasonId;
|
|
public short SeasonNo;
|
|
public short EpisodeNo;
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 40)]
|
|
public byte[] Padding;
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
|
|
public byte[] DeviceId;
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 18)]
|
|
public LocalizedString[] DisplayName;
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 18)]
|
|
public LocalizedString[] DisplayDescription;
|
|
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)]
|
|
public string PublisherName;
|
|
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)]
|
|
public string TitleName;
|
|
public TransferFlags TransferFlags;
|
|
public int ThumbnailImageSize;
|
|
public int TitleThumbnailImageSize;
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16384)]
|
|
public byte[] ThumbnailImage;
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16384)]
|
|
public byte[] TitleThumbnailImage;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Nested type: RemotePackage
|
|
|
|
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode, Pack = 1)]
|
|
struct RemotePackage
|
|
{
|
|
public PackageMagic Magic;
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
|
|
public byte[] Signature;
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 296)]
|
|
public byte[] Padding;
|
|
public Metadata Metadata;
|
|
}
|
|
|
|
#endregion
|
|
} |