7#include <cosmos/proc/types.hxx>
8#include <cosmos/proc/SigAction.hxx>
11#include <clues/items/items.hxx>
13namespace clues::item {
16class CLUES_API SigSetOperation :
17 public ValueInParameter {
32 std::string str()
const override;
46 Op m_op = Op::INVALID;
50class CLUES_API SignalNumber :
51 public ValueParameter {
54 ValueParameter{type,
"signum",
"signal number"} {
57 std::string
str()
const override;
71 cosmos::SignalNr m_nr = cosmos::SignalNr::NONE;
75class CLUES_API SigActionParameter :
78 explicit SigActionParameter(
79 const std::string_view short_name =
"sigaction",
80 const std::string_view long_name =
"struct sigaction",
82 PointerValue{type, short_name, long_name} {
85 std::string
str()
const override;
87 const std::optional<cosmos::SigAction>& action()
const {
97 std::optional<cosmos::SigAction> m_sigaction;
101class CLUES_API SigSetParameter :
102 public PointerValue {
105 explicit SigSetParameter(
107 const std::string_view short_name =
"sigset",
const std::string_view name =
"signal set") :
108 PointerValue{type, short_name, name} {
111 std::string
str()
const override;
113 const std::optional<cosmos::SigSet>& sigset()
const {
123 std::optional<cosmos::SigSet> m_sigset;
OTHER valueAs() const
Helper to cast the strongly typed Word m_val to other strong enum types.
Base class for traced processes.
std::string str() const override
Returns a human readable string representation of the item.
void processValue(const Tracee &proc) override
Processes the value stored in m_val acc. to the actual item type.
The operation to performed on a signal set.
void processValue(const Tracee &) override
Processes the value stored in m_val acc. to the actual item type.
@ BLOCK
additionally block.
@ SETMASK
replace the whole mask.
@ UNBLOCK
unblock the given signals.
std::string str() const override
Returns a human readable string representation of the item.
void processValue(const Tracee &proc) override
Processes the value stored in m_val acc. to the actual item type.
std::string str() const override
Returns a human readable string representation of the item.
void processValue(const Tracee &) override
Processes the value stored in m_val acc. to the actual item type.
Specialization of ValueParameter for PARAM_IN parameters.
ItemType
Basic type of a SystemCallItem.
@ PARAM_IN
An input parameter to the system call.