Class representing the ".note.android.ident" section.
More...
#include <AndroidIdent.hpp>
|
static bool | classof (const Note *note) |
|
static constexpr size_t | description_size () |
|
static result< TYPE > | convert_type (Header::FILE_TYPE ftype, uint32_t type, const std::string &name) |
| Convert the raw integer note type into a TYPE according to the owner.
|
|
static result< const char * > | type_to_section (TYPE type) |
| Try to determine the ELF section name associated with the TYPE provided in parameter.
|
|
static result< std::string > | note_to_section (const Note ¬e) |
|
static result< const char * > | type_owner (TYPE type) |
| Try to determine the owner's name of the TYPE provided in parameter.
|
|
static std::unique_ptr< Note > | create (const std::string &name, uint32_t type, description_t description, std::string section_name, Header::FILE_TYPE ftype=Header::FILE_TYPE::NONE, ARCH arch=ARCH::NONE, Header::CLASS cls=Header::CLASS::NONE) |
| Create a new note from the given parameters. Additional information such as the architecture or the ELF class could be required for creating notes like Coredump notes.
|
|
static std::unique_ptr< Note > | create (const std::string &name, TYPE type, description_t description, std::string section_name, ARCH arch=ARCH::NONE, Header::CLASS cls=Header::CLASS::NONE) |
| Create a new note from the given parameters. Additional information such as the architecture or the ELF class could be required for creating notes like Coredump notes.
|
|
static std::unique_ptr< Note > | create (BinaryStream &stream, std::string section_name, Header::FILE_TYPE ftype=Header::FILE_TYPE::NONE, ARCH arch=ARCH::NONE, Header::CLASS cls=Header::CLASS::NONE) |
| Create a new note from the given stream. Additional information such as the architecture or the ELF class could be required for creating notes like Coredump notes.
|
|
|
enum class | TYPE {
UNKNOWN = 0
, GNU_ABI_TAG
, GNU_HWCAP
, GNU_BUILD_ID
,
GNU_GOLD_VERSION
, GNU_PROPERTY_TYPE_0
, GNU_BUILD_ATTRIBUTE_OPEN
, GNU_BUILD_ATTRIBUTE_FUNC
,
CRASHPAD
, CORE_PRSTATUS
, CORE_FPREGSET
, CORE_PRPSINFO
,
CORE_TASKSTRUCT
, CORE_AUXV
, CORE_PSTATUS
, CORE_FPREGS
,
CORE_PSINFO
, CORE_LWPSTATUS
, CORE_LWPSINFO
, CORE_WIN32PSTATUS
,
CORE_FILE
, CORE_PRXFPREG
, CORE_SIGINFO
, CORE_ARM_VFP
,
CORE_ARM_TLS
, CORE_ARM_HW_BREAK
, CORE_ARM_HW_WATCH
, CORE_ARM_SYSTEM_CALL
,
CORE_ARM_SVE
, CORE_ARM_PAC_MASK
, CORE_ARM_PACA_KEYS
, CORE_ARM_PACG_KEYS
,
CORE_TAGGED_ADDR_CTRL
, CORE_PAC_ENABLED_KEYS
, CORE_X86_TLS
, CORE_X86_IOPERM
,
CORE_X86_XSTATE
, CORE_X86_CET
, ANDROID_IDENT
, ANDROID_MEMTAG
,
ANDROID_KUSER
, GO_BUILDID
, STAPSDT
, QNX_STACK
} |
| LIEF representation of the ELF NT_ values. More...
|
|
using | description_t = std::vector<uint8_t> |
| Container used to handle the description data.
|
|
template<class T > |
using | output_t = add_pointer_t<decay_t<T>> |
|
template<class T > |
using | output_const_t = add_pointer_t<add_const_t<decay_t<T>>> |
|
◆ ~AndroidIdent()
LIEF::ELF::AndroidIdent::~AndroidIdent |
( |
| ) |
|
|
overridedefault |
◆ accept()
void LIEF::ELF::AndroidIdent::accept |
( |
Visitor & | visitor | ) |
const |
|
overridevirtual |
◆ classof()
static bool LIEF::ELF::AndroidIdent::classof |
( |
const Note * | note | ) |
|
|
inlinestatic |
◆ clone()
std::unique_ptr< Note > LIEF::ELF::AndroidIdent::clone |
( |
| ) |
const |
|
inlineoverridevirtual |
Clone the current note and keep its polymorphic type.
Reimplemented from LIEF::ELF::Note.
◆ description_size()
static constexpr size_t LIEF::ELF::AndroidIdent::description_size |
( |
| ) |
|
|
inlinestaticconstexpr |
◆ dump()
void LIEF::ELF::AndroidIdent::dump |
( |
std::ostream & | os | ) |
const |
|
overridevirtual |
◆ ndk_build_number() [1/2]
std::string LIEF::ELF::AndroidIdent::ndk_build_number |
( |
| ) |
const |
NDK build number (or an empty string if it can't be parsed)
◆ ndk_build_number() [2/2]
void LIEF::ELF::AndroidIdent::ndk_build_number |
( |
const std::string & | ndk_build_number | ) |
|
◆ ndk_version() [1/2]
std::string LIEF::ELF::AndroidIdent::ndk_version |
( |
| ) |
const |
NDK version used (or an empty string if it can't be parsed)
◆ ndk_version() [2/2]
void LIEF::ELF::AndroidIdent::ndk_version |
( |
const std::string & | ndk_version | ) |
|
◆ sdk_version() [1/2]
uint32_t LIEF::ELF::AndroidIdent::sdk_version |
( |
| ) |
const |
Target SDK version (or 0 if it can't be resolved)
◆ sdk_version() [2/2]
void LIEF::ELF::AndroidIdent::sdk_version |
( |
uint32_t | version | ) |
|
◆ ndk_build_number_size
size_t LIEF::ELF::AndroidIdent::ndk_build_number_size = 64 * sizeof(char) |
|
staticconstexpr |
◆ ndk_version_size
size_t LIEF::ELF::AndroidIdent::ndk_version_size = 64 * sizeof(char) |
|
staticconstexpr |
◆ sdk_version_size
size_t LIEF::ELF::AndroidIdent::sdk_version_size = sizeof(uint32_t) |
|
staticconstexpr |
The documentation for this class was generated from the following file: