2024-04-23 20:09:39 -04:00
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
|
|
2023-09-04 00:12:49 -04:00
|
|
|
namespace SabreTools.Models.N3DS
|
2023-09-04 00:11:04 -04:00
|
|
|
{
|
|
|
|
|
/// <see href="https://www.3dbrew.org/wiki/NCSD#Development_Card_Info_Header_Extension"/>
|
2024-04-23 20:09:39 -04:00
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
2023-09-04 00:11:04 -04:00
|
|
|
public sealed class DevelopmentCardInfoHeader
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// InitialData
|
|
|
|
|
/// </summary>
|
2024-04-23 20:09:39 -04:00
|
|
|
public InitialData? InitialData;
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// CardDeviceReserved1
|
|
|
|
|
/// </summary>
|
2024-04-23 20:09:39 -04:00
|
|
|
/// <remarks>0x200 bytes</remarks>
|
|
|
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 0x200)]
|
|
|
|
|
public byte[]? CardDeviceReserved1;
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// TitleKey
|
|
|
|
|
/// </summary>
|
2024-04-23 20:09:39 -04:00
|
|
|
/// <remarks>0x10 bytes</remarks>
|
|
|
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 0x10)]
|
|
|
|
|
public byte[]? TitleKey;
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// CardDeviceReserved2
|
|
|
|
|
/// </summary>
|
2024-04-23 20:09:39 -04:00
|
|
|
/// <remarks>0x1BF0 bytes</remarks>
|
|
|
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 0x1BF0)]
|
|
|
|
|
public byte[]? CardDeviceReserved2;
|
2023-09-04 00:11:04 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// TestData
|
|
|
|
|
/// </summary>
|
2024-04-23 20:09:39 -04:00
|
|
|
public TestData? TestData;
|
2023-09-04 00:11:04 -04:00
|
|
|
}
|
|
|
|
|
}
|