16#ifndef LIEF_ELF_CORE_PRSTATUS_H 
   17#define LIEF_ELF_CORE_PRSTATUS_H 
   72      DS, 
ES, 
FS, 
GS, 
ORIG_EAX, 
EIP, 
CS, 
EFLAGS, 
ESP, 
SS,
 
 
   86      R0 = 0, 
R1, 
R2, 
R3, 
R4, 
R5, 
R6, 
R7, 
R8, 
R9, 
R10, 
R11, 
R12, 
R13, 
R14, 
R15,
 
 
   93      X0 = 0, 
X1, 
X2, 
X3, 
X4, 
X5, 
X6, 
X7, 
X8, 
X9, 
X10, 
X11, 
X12, 
X13, 
X14, 
X15,
 
   94      X16, 
X17, 
X18, 
X19, 
X20, 
X21, 
X22, 
X23, 
X24, 
X25, 
X26, 
X27, 
X28, 
X29, 
X30,
 
 
 
  104    arch_(arch), class_(cls)
 
 
  107  std::unique_ptr<Note> 
clone()
 const override {
 
  108    return std::unique_ptr<CorePrStatus>(
new CorePrStatus(*
this));
 
 
  173  void dump(std::ostream& os) 
const override;
 
 
Class which represents an ELF binary.
Definition ELF/Binary.hpp:59
Class which takes an ELF::Binary object and reconstructs a valid binary.
Definition ELF/Builder.hpp:48
ok_error_t set(Registers::AARCH64 reg, uint64_t value)
result< uint64_t > get(Registers::X86 reg) const
Get the value for the given X86 register or return an error.
result< uint64_t > operator[](Registers::ARM reg) const
Definition CorePrStatus.hpp:165
ok_error_t set(Registers::X86 reg, uint64_t value)
void dump(std::ostream &os) const override
pr_status_t status() const
Return the pr_status_t structure.
void status(const pr_status_t &status)
~CorePrStatus() override=default
friend std::ostream & operator<<(std::ostream &os, const CorePrStatus ¬e)
Definition CorePrStatus.hpp:183
ok_error_t set(Registers::X86_64 reg, uint64_t value)
ok_error_t set(Registers::ARM reg, uint64_t value)
std::unique_ptr< Note > clone() const override
Clone the current note and keep its polymorphic type.
Definition CorePrStatus.hpp:107
void accept(Visitor &visitor) const override
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::AARCH64 reg) const
Get the value for the given AARCH64 register or return an error.
static bool classof(const Note *note)
Definition CorePrStatus.hpp:176
CorePrStatus(ARCH arch, Header::CLASS cls, std::string name, uint32_t type, description_t description)
Definition CorePrStatus.hpp:101
result< uint64_t > operator[](Registers::X86 reg) const
Definition CorePrStatus.hpp:157
result< uint64_t > get(Registers::ARM reg) const
Get the value for the given ARM register or return an error.
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 ...
result< uint64_t > return_value() const
The value of the register that holds the return value according to the calling convention.
result< uint64_t > operator[](Registers::AARCH64 reg) const
Definition CorePrStatus.hpp:169
result< uint64_t > operator[](Registers::X86_64 reg) const
Definition CorePrStatus.hpp:161
result< uint64_t > sp() const
The stack pointer or an error if not found.
result< uint64_t > pc() const
The program counter or an error if not found.
ARCH architecture() const
Definition CorePrStatus.hpp:115
std::vector< uint8_t > description_t
Container used to handle the description data.
Definition Note.hpp:46
TYPE
LIEF representation of the ELF NT_ values.
Definition Note.hpp:49
@ CORE_PRSTATUS
Coredump that wraps the elf_prstatus structure.
Definition Note.hpp:72
TYPE type() const
Return the type of the note. This type does not match the NT_ type value. For accessing the original ...
Definition Note.hpp:195
const std::string & name() const
Return the name of the note (also known as 'owner' ).
Definition Note.hpp:184
Note(const Note ©)=default
span< const uint8_t > description() const
Return the description associated with the note.
Definition Note.hpp:206
Class which parses and transforms an ELF file into a ELF::Binary object.
Definition ELF/Parser.hpp:45
Definition Visitor.hpp:210
Opaque structure that is used by LIEF to avoid writing result<void> f(...). Instead,...
Definition errors.hpp:112
Wrapper that contains an Object (T) or an error.
Definition errors.hpp:75
Namespace related to the LIEF's ELF module.
Definition Abstract/Header.hpp:28
const char * to_string(DynamicEntry::TAG e)
ARCH
Definition ELF/enums.hpp:30
@ NONE
Definition ELF/enums.hpp:31
LIEF namespace.
Definition Abstract/Binary.hpp:40
Definition CorePrStatus.hpp:68
ARM
Register for the ARM architecture (ARCH::ARM).
Definition CorePrStatus.hpp:85
@ R0
Definition CorePrStatus.hpp:86
@ CPSR
Definition CorePrStatus.hpp:87
@ R3
Definition CorePrStatus.hpp:86
@ R4
Definition CorePrStatus.hpp:86
@ R2
Definition CorePrStatus.hpp:86
@ R7
Definition CorePrStatus.hpp:86
@ R1
Definition CorePrStatus.hpp:86
@ R5
Definition CorePrStatus.hpp:86
@ R6
Definition CorePrStatus.hpp:86
X86_64
Register for the x86-64 architecture (ARCH::X86_64).
Definition CorePrStatus.hpp:77
@ R14
Definition CorePrStatus.hpp:78
@ R12
Definition CorePrStatus.hpp:78
@ RBP
Definition CorePrStatus.hpp:78
@ R15
Definition CorePrStatus.hpp:78
@ R10
Definition CorePrStatus.hpp:78
@ RSP
Definition CorePrStatus.hpp:80
@ RDX
Definition CorePrStatus.hpp:79
@ R13
Definition CorePrStatus.hpp:78
@ RCX
Definition CorePrStatus.hpp:79
@ ORIG_RAX
Definition CorePrStatus.hpp:79
@ RSI
Definition CorePrStatus.hpp:79
@ RBX
Definition CorePrStatus.hpp:78
@ R11
Definition CorePrStatus.hpp:78
@ R9
Definition CorePrStatus.hpp:79
@ RAX
Definition CorePrStatus.hpp:79
@ RDI
Definition CorePrStatus.hpp:79
@ RIP
Definition CorePrStatus.hpp:80
@ R8
Definition CorePrStatus.hpp:79
AARCH64
Register for the AARCH64 architecture (ARCH::AARCH64).
Definition CorePrStatus.hpp:92
@ X3
Definition CorePrStatus.hpp:93
@ X19
Definition CorePrStatus.hpp:94
@ X21
Definition CorePrStatus.hpp:94
@ X23
Definition CorePrStatus.hpp:94
@ X22
Definition CorePrStatus.hpp:94
@ X5
Definition CorePrStatus.hpp:93
@ X2
Definition CorePrStatus.hpp:93
@ X18
Definition CorePrStatus.hpp:94
@ X27
Definition CorePrStatus.hpp:94
@ X29
Definition CorePrStatus.hpp:94
@ X14
Definition CorePrStatus.hpp:93
@ X15
Definition CorePrStatus.hpp:93
@ PSTATE
Definition CorePrStatus.hpp:95
@ X24
Definition CorePrStatus.hpp:94
@ X9
Definition CorePrStatus.hpp:93
@ X4
Definition CorePrStatus.hpp:93
@ X20
Definition CorePrStatus.hpp:94
@ X16
Definition CorePrStatus.hpp:94
@ PC
Definition CorePrStatus.hpp:95
@ X12
Definition CorePrStatus.hpp:93
@ X13
Definition CorePrStatus.hpp:93
@ X10
Definition CorePrStatus.hpp:93
@ X26
Definition CorePrStatus.hpp:94
@ X8
Definition CorePrStatus.hpp:93
@ X25
Definition CorePrStatus.hpp:94
@ X0
Definition CorePrStatus.hpp:93
@ X7
Definition CorePrStatus.hpp:93
@ X1
Definition CorePrStatus.hpp:93
@ X31
Definition CorePrStatus.hpp:95
@ X30
Definition CorePrStatus.hpp:94
@ X11
Definition CorePrStatus.hpp:93
@ X6
Definition CorePrStatus.hpp:93
@ X17
Definition CorePrStatus.hpp:94
@ X28
Definition CorePrStatus.hpp:94
X86
Register for the x86 architecture (ARCH::I386).
Definition CorePrStatus.hpp:70
@ ES
Definition CorePrStatus.hpp:72
@ EDX
Definition CorePrStatus.hpp:71
@ EFLAGS
Definition CorePrStatus.hpp:72
@ ESP
Definition CorePrStatus.hpp:72
@ DS
Definition CorePrStatus.hpp:72
@ FS
Definition CorePrStatus.hpp:72
@ EDI
Definition CorePrStatus.hpp:71
@ EBP
Definition CorePrStatus.hpp:71
@ GS
Definition CorePrStatus.hpp:72
@ EBX
Definition CorePrStatus.hpp:71
@ ORIG_EAX
Definition CorePrStatus.hpp:72
@ CS
Definition CorePrStatus.hpp:72
@ EIP
Definition CorePrStatus.hpp:72
@ SS
Definition CorePrStatus.hpp:72
@ ESI
Definition CorePrStatus.hpp:71
@ EAX
Definition CorePrStatus.hpp:71
@ _COUNT
Definition CorePrStatus.hpp:73
@ ECX
Definition CorePrStatus.hpp:71
Definition CorePrStatus.hpp:48
uint16_t cursig
Definition CorePrStatus.hpp:51
siginfo_t info
Definition CorePrStatus.hpp:49
timeval_t cstime
Definition CorePrStatus.hpp:65
int32_t ppid
Definition CorePrStatus.hpp:58
uint16_t reserved
Definition CorePrStatus.hpp:52
uint64_t sighold
Definition CorePrStatus.hpp:55
int32_t pid
Definition CorePrStatus.hpp:57
timeval_t stime
Definition CorePrStatus.hpp:63
uint64_t sigpend
Definition CorePrStatus.hpp:54
int32_t sid
Definition CorePrStatus.hpp:60
timeval_t utime
Definition CorePrStatus.hpp:62
timeval_t cutime
Definition CorePrStatus.hpp:64
int32_t pgrp
Definition CorePrStatus.hpp:59
Definition CorePrStatus.hpp:37
int32_t code
Definition CorePrStatus.hpp:39
int32_t signo
Definition CorePrStatus.hpp:38
int32_t err
Definition CorePrStatus.hpp:40
Definition CorePrStatus.hpp:43
uint64_t sec
Definition CorePrStatus.hpp:44
uint64_t usec
Definition CorePrStatus.hpp:45
#define LIEF_API
Definition visibility.h:41