This structure holds data about a UNIX thread.
More...
#include <threading_manager.hpp>
|
| pid_t | tid |
| | The thread ID (TID) associated with this thread.
|
| |
| pid_t | tgid |
| | The thread group ID (TGID) associated with this thread.
|
| |
| int | exit_signal |
| | The signal to be sent to the parent process when the thread terminates.
|
| |
| uint64_t | flags |
| | The clone flags used when the thread was created.
|
| |
| ADDR | child_cleartid_addr |
| | The address of the child_tid variable to be cleared when the thread exits (used with CLONE_CHILD_CLEARTID).
|
| |
| ADDR | child_settid_addr |
| | The address of the child_tid variable to be set when the thread starts (used with CLONE_CHILD_SETTID).
|
| |
| ADDR | parent_tid_addr |
| |
| std::unique_ptr< std::map< REG, RVAL > > | regs_state = nullptr |
| | The saved register state of the thread, mapping each Unicorn register (REG) to its corresponding value (RVAL).
|
| |
| ADDR | tls_addr |
| | The address of the thread’s thread-local storage (TLS) block.
|
| |
| ADDR | wait_status_addr = 0 |
| | The address where the thread’s wait status is stored, used for synchronization with other threads.
|
| |
| bool | stopped = false |
| | Indicates whether the thread is currently stopped.
|
| |
| ADDR | robust_list_head = 0 |
| | The head of the robust futex list, used for robust mutex handling by the Linux kernel.
|
| |
| ADDR | rseq_addr = 0 |
| | The address of the restartable sequences (rseq) structure for this thread.
|
| |
| uint32_t | rseq_len = 0 |
| | The size of the restartable sequences (rseq) area in bytes.
|
| |
| uint32_t | rseq_sig = 0 |
| | The signature used to identify aborted restartable sequences.
|
| |
This structure holds data about a UNIX thread.
◆ ARION_THREAD() [1/3]
| arion::ARION_THREAD::ARION_THREAD |
( |
| ) |
|
|
inline |
◆ ARION_THREAD() [2/3]
| arion::ARION_THREAD::ARION_THREAD |
( |
int |
exit_signal, |
|
|
uint64_t |
flags, |
|
|
ADDR |
child_cleartid_addr, |
|
|
ADDR |
child_settid_addr, |
|
|
ADDR |
parent_tid_addr, |
|
|
std::unique_ptr< std::map< REG, RVAL > > |
regs_state, |
|
|
ADDR |
tls_addr |
|
) |
| |
|
inline |
Builder for ARION_THREAD instances.
- Parameters
-
| [in] | exit_signal | The signal to be sent to the parent process when the thread terminates. |
| [in] | flags | The clone flags used when the thread was created. |
| [in] | child_cleartid_addr | The address of the child_tid variable to be cleared when the thread exits (used with CLONE_CHILD_CLEARTID). |
| [in] | child_settid_addr | The address of the child_tid variable to be set when the thread starts (used with CLONE_CHILD_SETTID). |
| [in] | parent_tid_addr | The address in the parent process where the TID of the newly created thread is stored (used with CLONE_PARENT_SETTID). |
| [in] | regs_state | The saved register state of the thread, mapping each Unicorn register (REG) to its corresponding value (RVAL). |
| [in] | tls_addr | The address of the thread’s thread-local storage (TLS) block. |
◆ ARION_THREAD() [3/3]
◆ child_cleartid_addr
| ADDR arion::ARION_THREAD::child_cleartid_addr |
The address of the child_tid variable to be cleared when the thread exits (used with CLONE_CHILD_CLEARTID).
◆ child_settid_addr
| ADDR arion::ARION_THREAD::child_settid_addr |
The address of the child_tid variable to be set when the thread starts (used with CLONE_CHILD_SETTID).
◆ exit_signal
| int arion::ARION_THREAD::exit_signal |
The signal to be sent to the parent process when the thread terminates.
◆ flags
| uint64_t arion::ARION_THREAD::flags |
The clone flags used when the thread was created.
◆ parent_tid_addr
| ADDR arion::ARION_THREAD::parent_tid_addr |
The address in the parent process where the TID of the newly created thread is stored (used with CLONE_PARENT_SETTID).
◆ regs_state
| std::unique_ptr<std::map<REG, RVAL> > arion::ARION_THREAD::regs_state = nullptr |
The saved register state of the thread, mapping each Unicorn register (REG) to its corresponding value (RVAL).
◆ robust_list_head
| ADDR arion::ARION_THREAD::robust_list_head = 0 |
The head of the robust futex list, used for robust mutex handling by the Linux kernel.
◆ rseq_addr
| ADDR arion::ARION_THREAD::rseq_addr = 0 |
The address of the restartable sequences (rseq) structure for this thread.
◆ rseq_len
| uint32_t arion::ARION_THREAD::rseq_len = 0 |
The size of the restartable sequences (rseq) area in bytes.
◆ rseq_sig
| uint32_t arion::ARION_THREAD::rseq_sig = 0 |
The signature used to identify aborted restartable sequences.
◆ stopped
| bool arion::ARION_THREAD::stopped = false |
Indicates whether the thread is currently stopped.
◆ tgid
| pid_t arion::ARION_THREAD::tgid |
The thread group ID (TGID) associated with this thread.
◆ tid
| pid_t arion::ARION_THREAD::tid |
The thread ID (TID) associated with this thread.
◆ tls_addr
| ADDR arion::ARION_THREAD::tls_addr |
The address of the thread’s thread-local storage (TLS) block.
◆ wait_status_addr
| ADDR arion::ARION_THREAD::wait_status_addr = 0 |
The address where the thread’s wait status is stored, used for synchronization with other threads.
The documentation for this struct was generated from the following file: