Files
SabreTools.Models/N3DS/ExeFSFileHeader.cs
2023-09-10 21:24:10 -04:00

42 lines
1.2 KiB
C#

namespace SabreTools.Models.N3DS
{
/// <summary>
/// There are a maximum of 10 file headers in the ExeFS format. (This maximum
/// number of file headers is disputable, with makerom indicating a maximum of
/// 8 sections and makecia indicating a maximum of 10. From a non-SDK point of
/// view, the ExeFS header format can hold no more than 10 file headers within
/// the currently define size of 0x200 bytes.)
/// </summary>
/// <see href="https://www.3dbrew.org/wiki/ExeFS#File_headers"/>
public sealed class ExeFSFileHeader
{
/// <summary>
/// File name
/// </summary>
#if NET48
public string FileName { get; set; }
#else
public string? FileName { get; set; }
#endif
/// <summary>
/// File offset
/// </summary>
public uint FileOffset { get; set; }
/// <summary>
/// File size
/// </summary>
public uint FileSize { get; set; }
/// <summary>
/// SHA256 hash calculated over the entire file contents
/// </summary>
#if NET48
public byte[] FileHash { get; set; }
#else
public byte[]? FileHash { get; set; }
#endif
}
}