From cbb7563724dbedc8e9109a203198c4942a4fa43b Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Tue, 9 Sep 2025 11:07:51 -0400 Subject: [PATCH] Add missing symbol types, make a flag --- SabreTools.Models/PortableExecutable/Enums.cs | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/SabreTools.Models/PortableExecutable/Enums.cs b/SabreTools.Models/PortableExecutable/Enums.cs index ad27019..a7c3032 100644 --- a/SabreTools.Models/PortableExecutable/Enums.cs +++ b/SabreTools.Models/PortableExecutable/Enums.cs @@ -2746,8 +2746,11 @@ namespace SabreTools.Models.PortableExecutable IMAGE_SYM_CLASS_CLR_TOKEN = 0x6A, } + [Flags] public enum SymbolType : ushort { + #region Simple (Base) Data Type + /// /// No type information or unknown base type. Microsoft tools use this setting /// @@ -2828,10 +2831,26 @@ namespace SabreTools.Models.PortableExecutable /// IMAGE_SYM_TYPE_DWORD = 0x0F, + #endregion + + #region Complex Type + /// - /// A function pointer + /// The symbol is a pointer to base type /// - IMAGE_SYM_TYPE_FUNC = 0x20, + IMAGE_SYM_DTYPE_POINTER = 0x10, + + /// + /// The symbol is a function that returns a base type + /// + IMAGE_SYM_DTYPE_FUNCTION = 0x20, + + /// + /// The symbol is an array of base type + /// + IMAGE_SYM_DTYPE_ARRAY = 0x30, + + #endregion } public enum SymbolDerivedType : byte