LIEF: Library to Instrument Executable Formats Version 0.16.5
|
Class representing a core siginfo object. More...
#include <CoreSigInfo.hpp>
Public Member Functions | |
std::unique_ptr< Note > | clone () const override |
Clone the current note and keep its polymorphic type. | |
result< int32_t > | signo () const |
Signal number of an error if it can't be resolved. | |
result< int32_t > | sigcode () const |
Signal code of an error if it can't be resolved. | |
result< int32_t > | sigerrno () const |
Signal error number of an error if it can't be resolved. | |
void | signo (uint32_t value) |
void | sigcode (uint32_t value) |
void | sigerrno (uint32_t value) |
void | dump (std::ostream &os) const override |
void | accept (Visitor &visitor) const override |
~CoreSigInfo () override=default | |
![]() | |
Note & | operator= (const Note ©)=default |
Note (const Note ©)=default | |
~Note () override=default | |
const std::string & | name () const |
Return the name of the note (also known as 'owner' ) | |
const std::string & | section_name () const |
Return the section name in which the note is or should be stored. | |
TYPE | type () const |
Return the type of the note. This type does not match the NT_ type value. For accessing the original NT_ value, check original_type() | |
uint32_t | original_type () const |
The original NT_xxx integer value. The meaning of this value likely depends on the owner of the note. | |
span< const uint8_t > | description () const |
Return the description associated with the note. | |
span< uint8_t > | description () |
void | name (std::string name) |
void | description (description_t description) |
Change the description of the note. | |
uint64_t | size () const |
Size of the raw note which includes padding. | |
void | accept (Visitor &visitor) const override |
template<class T > | |
const T * | cast () const |
template<class T > | |
T * | cast () |
![]() | |
Object () | |
Object (const Object &other) | |
Object & | operator= (const Object &other) |
template<class T > | |
output_t< T > | as () |
template<class T > | |
output_const_t< T > | as () const |
virtual bool | operator== (const Object &other) const |
virtual bool | operator!= (const Object &other) const |
virtual | ~Object () |
Static Public Member Functions | |
static bool | classof (const Note *note) |
![]() | |
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. | |
Class representing a core siginfo object.
|
overridedefault |
|
overridevirtual |
Implements LIEF::Object.
|
inlinestatic |
References LIEF::ELF::Note::type().
|
inlineoverridevirtual |
Clone the current note and keep its polymorphic type.
Reimplemented from LIEF::ELF::Note.
|
overridevirtual |
Reimplemented from LIEF::ELF::Note.
Referenced by operator<<.
result< int32_t > LIEF::ELF::CoreSigInfo::sigcode | ( | ) | const |
Signal code of an error if it can't be resolved.
void LIEF::ELF::CoreSigInfo::sigcode | ( | uint32_t | value | ) |
result< int32_t > LIEF::ELF::CoreSigInfo::sigerrno | ( | ) | const |
Signal error number of an error if it can't be resolved.
void LIEF::ELF::CoreSigInfo::sigerrno | ( | uint32_t | value | ) |
result< int32_t > LIEF::ELF::CoreSigInfo::signo | ( | ) | const |
Signal number of an error if it can't be resolved.
void LIEF::ELF::CoreSigInfo::signo | ( | uint32_t | value | ) |