LIEF: Library to Instrument Executable Formats
Version 0.17.4
Toggle main menu visibility
Loading...
Searching...
No Matches
install
linux
x86_64
sdk
static
include
LIEF
COFF
AuxiliarySymbols
AuxiliarybfAndefSymbol.hpp
Go to the documentation of this file.
1
/* Copyright 2017 - 2025 R. Thomas
2
* Copyright 2017 - 2025 Quarkslab
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
16
#ifndef LIEF_COFF_AUXILIARY_BF_AND_EF_H
17
#define LIEF_COFF_AUXILIARY_BF_AND_EF_H
18
19
#include <memory>
20
21
#include "
LIEF/visibility.h
"
22
#include "
LIEF/COFF/AuxiliarySymbol.hpp
"
23
24
namespace
LIEF
{
25
26
namespace
COFF
{
27
28
class
LIEF_API
AuxiliarybfAndefSymbol
:
public
AuxiliarySymbol
{
29
public
:
30
LIEF_LOCAL
static
std::unique_ptr<AuxiliarybfAndefSymbol>
31
parse
(
Symbol
& sym,
const
std::vector<uint8_t>&
payload
);
32
33
AuxiliarybfAndefSymbol
() :
34
AuxiliarySymbol
(
AuxiliarySymbol
::
TYPE
::BF_AND_EF)
35
{}
36
37
AuxiliarybfAndefSymbol
(
const
AuxiliarybfAndefSymbol
&) =
default
;
38
AuxiliarybfAndefSymbol
&
operator=
(
const
AuxiliarybfAndefSymbol
&) =
default
;
39
40
AuxiliarybfAndefSymbol
(
AuxiliarybfAndefSymbol
&&) =
default
;
41
AuxiliarybfAndefSymbol
&
operator=
(
AuxiliarybfAndefSymbol
&&) =
default
;
42
43
std::unique_ptr<AuxiliarySymbol>
clone
()
const override
{
44
return
std::unique_ptr<AuxiliarybfAndefSymbol>(
new
AuxiliarybfAndefSymbol
{*
this
});
45
}
46
47
std::string
to_string
()
const override
{
48
return
"AuxiliarybfAndefSymbol"
;
49
}
50
51
static
bool
classof
(
const
AuxiliarySymbol
* sym) {
52
return
sym->
type
() ==
AuxiliarySymbol::TYPE::BF_AND_EF
;
53
}
54
55
~AuxiliarybfAndefSymbol
()
override
=
default
;
56
};
57
58
}
59
}
60
#endif
AuxiliarySymbol.hpp
LIEF::COFF::AuxiliarySymbol::payload
span< const uint8_t > payload() const
For unknown type only, return the raw representation of this symbol.
Definition
AuxiliarySymbol.hpp:83
LIEF::COFF::AuxiliarySymbol::AuxiliarySymbol
AuxiliarySymbol()=default
LIEF::COFF::AuxiliarySymbol::type
TYPE type() const
Definition
AuxiliarySymbol.hpp:78
LIEF::COFF::AuxiliarySymbol::TYPE
TYPE
Type discriminator for the subclasses.
Definition
AuxiliarySymbol.hpp:57
LIEF::COFF::AuxiliarySymbol::TYPE::BF_AND_EF
@ BF_AND_EF
Auxiliary Format 2: .bf and .ef Symbols from the PE-COFF documentation.
Definition
AuxiliarySymbol.hpp:63
LIEF::COFF::AuxiliarybfAndefSymbol::AuxiliarybfAndefSymbol
AuxiliarybfAndefSymbol(AuxiliarybfAndefSymbol &&)=default
LIEF::COFF::AuxiliarybfAndefSymbol::parse
static std::unique_ptr< AuxiliarybfAndefSymbol > parse(Symbol &sym, const std::vector< uint8_t > &payload)
LIEF::COFF::AuxiliarybfAndefSymbol::AuxiliarybfAndefSymbol
AuxiliarybfAndefSymbol()
Definition
AuxiliarybfAndefSymbol.hpp:33
LIEF::COFF::AuxiliarybfAndefSymbol::AuxiliarybfAndefSymbol
AuxiliarybfAndefSymbol(const AuxiliarybfAndefSymbol &)=default
LIEF::COFF::AuxiliarybfAndefSymbol::to_string
std::string to_string() const override
Definition
AuxiliarybfAndefSymbol.hpp:47
LIEF::COFF::AuxiliarybfAndefSymbol::classof
static bool classof(const AuxiliarySymbol *sym)
Definition
AuxiliarybfAndefSymbol.hpp:51
LIEF::COFF::AuxiliarybfAndefSymbol::clone
std::unique_ptr< AuxiliarySymbol > clone() const override
Definition
AuxiliarybfAndefSymbol.hpp:43
LIEF::COFF::AuxiliarybfAndefSymbol::~AuxiliarybfAndefSymbol
~AuxiliarybfAndefSymbol() override=default
LIEF::COFF::AuxiliarybfAndefSymbol::operator=
AuxiliarybfAndefSymbol & operator=(const AuxiliarybfAndefSymbol &)=default
LIEF::COFF::AuxiliarybfAndefSymbol::operator=
AuxiliarybfAndefSymbol & operator=(AuxiliarybfAndefSymbol &&)=default
LIEF::COFF::Symbol
This class represents a COFF symbol.
Definition
COFF/Symbol.hpp:35
LIEF::COFF
Definition
AuxiliarySymbol.hpp:29
LIEF
LIEF namespace.
Definition
Abstract/Binary.hpp:40
visibility.h
LIEF_API
#define LIEF_API
Definition
visibility.h:41
LIEF_LOCAL
#define LIEF_LOCAL
Definition
visibility.h:42
Generated by
1.17.0