LIEF: Library to Instrument Executable Formats Version 0.17.0
|
Loading...
Searching...
No Matches
Go to the documentation of this file.
16#ifndef LIEF_COFF_AUXILIARY_SEC_DEF_H
17#define LIEF_COFF_AUXILIARY_SEC_DEF_H
32 LIEF_LOCAL static std::unique_ptr<AuxiliarySectionDefinition>
33 parse(
const std::vector<uint8_t>& payload);
36 AuxiliarySymbol(AuxiliarySymbol::TYPE::SEC_DEF)
40 uint16_t nb_lines, uint32_t checksum,
41 uint32_t sec_idx, uint8_t selection,
43 AuxiliarySymbol(AuxiliarySymbol::TYPE::SEC_DEF),
45 nb_relocs_(nb_relocs),
49 selection_((COMDAT_SELECTION)selection),
54 AuxiliarySectionDefinition&
operator=(
const AuxiliarySectionDefinition&) =
default;
57 AuxiliarySectionDefinition&
operator=(AuxiliarySectionDefinition&&) =
default;
59 std::unique_ptr<AuxiliarySymbol>
clone()
const override {
60 return std::unique_ptr<AuxiliarySectionDefinition>(
new AuxiliarySectionDefinition{*
this});
62 enum class COMDAT_SELECTION : uint8_t {
146 static bool classof(
const AuxiliarySymbol* sym) {
147 return sym->
type() == AuxiliarySymbol::TYPE::SEC_DEF;
153 uint32_t length_ = 0;
154 uint16_t nb_relocs_ = 0;
155 uint16_t nb_lines_ = 0;
156 uint32_t checksum_ = 0;
157 uint32_t sec_idx_ = 0;
158 COMDAT_SELECTION selection_ = COMDAT_SELECTION::NONE;
159 uint8_t reserved_ = 0;
This auxiliary symbol exposes information about the associated section.
Definition AuxiliarySectionDefinition.hpp:30
AuxiliarySectionDefinition & operator=(const AuxiliarySectionDefinition &)=default
uint32_t checksum() const
The checksum for communal data. It is applicable if the IMAGE_SCN_LNK_COMDAT flag is set in the secti...
Definition AuxiliarySectionDefinition.hpp:123
AuxiliarySectionDefinition()
Definition AuxiliarySectionDefinition.hpp:35
static std::unique_ptr< AuxiliarySectionDefinition > parse(const std::vector< uint8_t > &payload)
static bool classof(const AuxiliarySymbol *sym)
Definition AuxiliarySectionDefinition.hpp:146
uint32_t section_idx() const
One-based index into the section table for the associated section. This is used when the COMDAT selec...
Definition AuxiliarySectionDefinition.hpp:129
uint32_t length() const
The size of section data. The same as SizeOfRawData in the section header.
Definition AuxiliarySectionDefinition.hpp:107
COMDAT_SELECTION
Values for the AuxiliarySectionDefinition::selection attribute.
Definition AuxiliarySectionDefinition.hpp:66
AuxiliarySectionDefinition & operator=(AuxiliarySectionDefinition &&)=default
uint16_t nb_line_numbers() const
The number of line-number entries for the section.
Definition AuxiliarySectionDefinition.hpp:117
COMDAT_SELECTION selection() const
The COMDAT selection number. This is applicable if the section is a COMDAT section.
Definition AuxiliarySectionDefinition.hpp:135
~AuxiliarySectionDefinition() override=default
AuxiliarySectionDefinition(AuxiliarySectionDefinition &&)=default
uint8_t reserved() const
Reserved value (should be 0)
Definition AuxiliarySectionDefinition.hpp:140
std::unique_ptr< AuxiliarySymbol > clone() const override
Definition AuxiliarySectionDefinition.hpp:59
AuxiliarySectionDefinition(const AuxiliarySectionDefinition &)=default
AuxiliarySectionDefinition(uint32_t length, uint16_t nb_relocs, uint16_t nb_lines, uint32_t checksum, uint32_t sec_idx, uint8_t selection, uint8_t reserved)
Definition AuxiliarySectionDefinition.hpp:39
std::string to_string() const override
uint16_t nb_relocs() const
The number of relocation entries for the section.
Definition AuxiliarySectionDefinition.hpp:112
Class that represents an auxiliary symbol.
Definition AuxiliarySymbol.hpp:36
TYPE type() const
Definition AuxiliarySymbol.hpp:78
Definition AuxiliarySymbol.hpp:29
const char * to_string(AuxiliarySectionDefinition::COMDAT_SELECTION e)
LIEF namespace.
Definition Abstract/Binary.hpp:39
#define LIEF_API
Definition visibility.h:41
#define LIEF_LOCAL
Definition visibility.h:42