mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-04-13 01:33:11 +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.
42 lines
1.2 KiB
C#
42 lines
1.2 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace SabreTools.Data.Models.PortableExecutable.DebugData
|
|
{
|
|
/// <summary>
|
|
/// This file describes the format of the pdb (Program Database) files of the "RSDS"
|
|
/// or "DS" type which are emitted by Miscrosoft's link.exe from version 7 and above.
|
|
/// </summary>
|
|
/// <see href="http://www.godevtool.com/Other/pdb.htm"/>
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
public sealed class RSDSProgramDatabase
|
|
{
|
|
/// <summary>
|
|
/// "RSDS" signature
|
|
/// </summary>
|
|
public uint Signature;
|
|
|
|
/// <summary>
|
|
/// 16-byte Globally Unique Identifier
|
|
/// </summary>
|
|
public Guid GUID;
|
|
|
|
/// <summary>
|
|
/// Ever-incrementing value, which is initially set to 1 and
|
|
/// incremented every time when a part of the PDB file is updated
|
|
/// without rewriting the whole file.
|
|
/// </summary>
|
|
public uint Age;
|
|
|
|
/// <summary>
|
|
/// zero terminated UTF8 path and file name
|
|
/// </summary>
|
|
#if NET472_OR_GREATER || NETCOREAPP
|
|
[MarshalAs(UnmanagedType.LPUTF8Str)]
|
|
#else
|
|
[MarshalAs(UnmanagedType.LPStr)]
|
|
#endif
|
|
public string PathAndFileName = string.Empty;
|
|
}
|
|
}
|