|
| | CorePrStatus (ARCH arch, Header::CLASS cls, std::string name, uint32_t type, description_t description) |
| std::unique_ptr< Note > | clone () const override |
| | Clone the current note and keep its polymorphic type.
|
| pr_status_t | status () const |
| | Return the pr_status_t structure.
|
| void | status (const pr_status_t &status) |
| ARCH | architecture () const |
| result< uint64_t > | pc () const |
| | The program counter or an error if not found.
|
| result< uint64_t > | sp () const |
| | The stack pointer or an error if not found.
|
| result< uint64_t > | return_value () const |
| | The value of the register that holds the return value according to the calling convention.
|
| result< uint64_t > | get (Registers::X86 reg) const |
| | Get the value for the given X86 register or return an error.
|
| result< uint64_t > | get (Registers::X86_64 reg) const |
| | Get the value for the given X86_64 register or return an error.
|
| result< uint64_t > | get (Registers::ARM reg) const |
| | Get the value for the given ARM register or return an error.
|
| result< uint64_t > | get (Registers::AARCH64 reg) const |
| | Get the value for the given AARCH64 register or return an error.
|
| ok_error_t | set (Registers::X86 reg, uint64_t value) |
| ok_error_t | set (Registers::X86_64 reg, uint64_t value) |
| ok_error_t | set (Registers::ARM reg, uint64_t value) |
| ok_error_t | set (Registers::AARCH64 reg, uint64_t value) |
| std::vector< uint64_t > | register_values () const |
| | A list of the register values. This list is guarantee to be as long as the Registers::ARM::_COUNT or empty if it can't be resolved. Thus, one can access a specific register with:
|
| result< uint64_t > | operator[] (Registers::X86 reg) const |
| result< uint64_t > | operator[] (Registers::X86_64 reg) const |
| result< uint64_t > | operator[] (Registers::ARM reg) const |
| result< uint64_t > | operator[] (Registers::AARCH64 reg) const |
| void | dump (std::ostream &os) const override |
| void | accept (Visitor &visitor) const override |
| | ~CorePrStatus () 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) |
| | Object (Object &&other) noexcept=default |
| Object & | operator= (Object &&other) noexcept=default |
| 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 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.
|
|
| 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>>> |
Class representing core PrPsInfo object.