Files
Matt Nadareski 7689c6dd07 Libraries
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.
2026-03-21 16:26:56 -04:00

67 lines
1.7 KiB
C#

namespace SabreTools.Data.Models.InstallShieldCabinet
{
/// <see href="https://github.com/twogood/unshield/blob/main/lib/cabfile.h"/>
public sealed class FileDescriptor
{
/// <summary>
/// Offset to the file descriptor name
/// </summary>
public uint NameOffset { get; set; }
/// <summary>
/// File descriptor name
/// </summary>
public string Name { get; set; } = string.Empty;
/// <summary>
/// Directory index
/// </summary>
public uint DirectoryIndex { get; set; }
/// <summary>
/// File flags
/// </summary>
public FileFlags Flags { get; set; }
/// <summary>
/// Size of the entry when expanded
/// </summary>
public ulong ExpandedSize { get; set; }
/// <summary>
/// Size of the entry when compressed
/// </summary>
public ulong CompressedSize { get; set; }
/// <summary>
/// Offset to the entry data
/// </summary>
public ulong DataOffset { get; set; }
/// <summary>
/// MD5 of the entry data
/// </summary>
public byte[] MD5 { get; set; } = new byte[0x10];
/// <summary>
/// Volume number
/// </summary>
public ushort Volume { get; set; }
/// <summary>
/// Link previous
/// </summary>
public uint LinkPrevious { get; set; }
/// <summary>
/// Link next
/// </summary>
public uint LinkNext { get; set; }
/// <summary>
/// Link flags
/// </summary>
public LinkFlags LinkFlags { get; set; }
}
}