LIEF: Library to Instrument Executable Formats Version 0.17.0
|
This class wraps build metadata represented by the codeview symbols: S_COMPILE3, S_COMPILE2, S_BUILDINFO, S_ENVBLOCK
More...
#include <BuildMetadata.hpp>
Classes | |
struct | build_info_t |
This structure represents information wrapped by the S_BUILDINFO symbol. More... | |
struct | version_t |
This structure represents a version for the backend or the frontend. More... | |
Public Types | |
enum class | LANG : uint8_t { C = 0x00 , CPP = 0x01 , FORTRAN = 0x02 , MASM = 0x03 , PASCAL_LANG = 0x04 , BASIC = 0x05 , COBOL = 0x06 , LINK = 0x07 , CVTRES = 0x08 , CVTPGD = 0x09 , CSHARP = 0x0a , VB = 0x0b , ILASM = 0x0c , JAVA = 0x0d , JSCRIPT = 0x0e , MSIL = 0x0f , HLSL = 0x10 , OBJC = 0x11 , OBJCPP = 0x12 , SWIFT = 0x13 , ALIASOBJ = 0x14 , RUST = 0x15 , GO = 0x16 , UNKNOWN = 0xFF } |
enum class | CPU : uint16_t { INTEL_8080 = 0x0 , INTEL_8086 = 0x1 , INTEL_80286 = 0x2 , INTEL_80386 = 0x3 , INTEL_80486 = 0x4 , PENTIUM = 0x5 , PENTIUMPRO = 0x6 , PENTIUM3 = 0x7 , MIPS = 0x10 , MIPS16 = 0x11 , MIPS32 = 0x12 , MIPS64 = 0x13 , MIPSI = 0x14 , MIPSII = 0x15 , MIPSIII = 0x16 , MIPSIV = 0x17 , MIPSV = 0x18 , M68000 = 0x20 , M68010 = 0x21 , M68020 = 0x22 , M68030 = 0x23 , M68040 = 0x24 , ALPHA = 0x30 , ALPHA_21164 = 0x31 , ALPHA_21164A = 0x32 , ALPHA_21264 = 0x33 , ALPHA_21364 = 0x34 , PPC601 = 0x40 , PPC603 = 0x41 , PPC604 = 0x42 , PPC620 = 0x43 , PPCFP = 0x44 , PPCBE = 0x45 , SH3 = 0x50 , SH3E = 0x51 , SH3DSP = 0x52 , SH4 = 0x53 , SHMEDIA = 0x54 , ARM3 = 0x60 , ARM4 = 0x61 , ARM4T = 0x62 , ARM5 = 0x63 , ARM5T = 0x64 , ARM6 = 0x65 , ARM_XMAC = 0x66 , ARM_WMMX = 0x67 , ARM7 = 0x68 , OMNI = 0x70 , IA64 = 0x80 , IA64_2 = 0x81 , CEE = 0x90 , AM33 = 0xa0 , M32R = 0xb0 , TRICORE = 0xc0 , X64 = 0xd0 , EBC = 0xe0 , THUMB = 0xf0 , ARMNT = 0xf4 , ARM64 = 0xf6 , HYBRID_X86ARM64 = 0xf7 , ARM64EC = 0xf8 , ARM64X = 0xf9 , D3D11_SHADER = 0x100 , UNKNOWN = 0xff } |
Public Member Functions | |
BuildMetadata (std::unique_ptr< details::BuildMetadata > impl) | |
~BuildMetadata () | |
version_t | frontend_version () const |
Version of the frontend (e.g. 19.36.32537 ) | |
version_t | backend_version () const |
Version of the backend (e.g. 14.36.32537 ) | |
std::string | version () const |
Version of the tool as a string. For instance, Microsoft (R) CVTRES , Microsoft (R) LINK . | |
LANG | language () const |
Source language. | |
CPU | target_cpu () const |
Target CPU. | |
optional< build_info_t > | build_info () const |
Build information represented by the S_BUILDINFO symbol. | |
std::vector< std::string > | env () const |
Environment information represented by the S_ENVBLOCK symbol. | |
std::string | to_string () const |
This class wraps build metadata represented by the codeview symbols: S_COMPILE3, S_COMPILE2, S_BUILDINFO, S_ENVBLOCK
|
strong |
|
strong |
LIEF::pdb::BuildMetadata::BuildMetadata | ( | std::unique_ptr< details::BuildMetadata > | impl | ) |
LIEF::pdb::BuildMetadata::~BuildMetadata | ( | ) |
version_t LIEF::pdb::BuildMetadata::backend_version | ( | ) | const |
Version of the backend (e.g. 14.36.32537
)
optional< build_info_t > LIEF::pdb::BuildMetadata::build_info | ( | ) | const |
Build information represented by the S_BUILDINFO
symbol.
std::vector< std::string > LIEF::pdb::BuildMetadata::env | ( | ) | const |
Environment information represented by the S_ENVBLOCK
symbol.
version_t LIEF::pdb::BuildMetadata::frontend_version | ( | ) | const |
Version of the frontend (e.g. 19.36.32537
)
LANG LIEF::pdb::BuildMetadata::language | ( | ) | const |
Source language.
std::string LIEF::pdb::BuildMetadata::to_string | ( | ) | const |
Referenced by operator<<.
std::string LIEF::pdb::BuildMetadata::version | ( | ) | const |
Version of the tool as a string. For instance, Microsoft (R) CVTRES
, Microsoft (R) LINK
.