mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-04-21 13:49:42 +00:00
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.
47 lines
1.4 KiB
C#
47 lines
1.4 KiB
C#
using System.Runtime.InteropServices;
|
|
|
|
namespace SabreTools.Data.Models.N3DS
|
|
{
|
|
/// <summary>
|
|
/// Used in FSReg:Register.
|
|
/// </summary>
|
|
/// <see href="https://www.3dbrew.org/wiki/NCCH/Extended_Header#Storage_Info"/>
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
public sealed class StorageInfo
|
|
{
|
|
/// <summary>
|
|
/// Extdata ID
|
|
/// </summary>
|
|
public ulong ExtdataID;
|
|
|
|
/// <summary>
|
|
/// System savedata IDs
|
|
/// </summary>
|
|
/// <remarks>8 bytes</remarks>
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
|
|
public byte[] SystemSavedataIDs = new byte[8];
|
|
|
|
/// <summary>
|
|
/// Storage accessible unique IDs
|
|
/// </summary>
|
|
/// <remarks>8 bytes</remarks>
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
|
|
public byte[] StorageAccessibleUniqueIDs = new byte[8];
|
|
|
|
/// <summary>
|
|
/// Filesystem access info
|
|
/// </summary>
|
|
/// TODO: Create enum for the flag values
|
|
/// TODO: Combine with "other attributes"
|
|
/// <remarks>7 bytes</remarks>
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 7)]
|
|
public byte[] FileSystemAccessInfo = new byte[7];
|
|
|
|
/// <summary>
|
|
/// Other attributes
|
|
/// </summary>
|
|
[MarshalAs(UnmanagedType.U1)]
|
|
public StorageInfoOtherAttributes OtherAttributes;
|
|
}
|
|
}
|