The value used with F_NOTIFY fcntl() operations.
More...
#include <fcntl.hxx>
|
| enum class | Setting : int {
ACCESS = DN_ACCESS
, MODIFY = DN_MODIFY
, CREATE = DN_CREATE
, DELETE = DN_DELETE
,
RENAME = DN_RENAME
, ATTRIB = DN_ATTRIB
} |
| |
| using | Settings = cosmos::BitMask<Setting> |
| |
| enum class | Flag { DEFER_FILL = 1 << 0
} |
| |
| using | Flags = cosmos::BitMask<Flag> |
| |
|
| auto | settings () const |
| |
| std::string | str () const override |
| | Returns a human readable string representation of the item.
|
| |
| | ValueInParameter (const std::string_view short_name, const std::string_view long_name={}) |
| |
| | ValueParameter (const ItemType type, const std::string_view short_name, const std::string_view long_name={}) |
| |
| | SystemCallItem (const ItemType type, const std::string_view short_name={}, const std::string_view long_name={}) |
| | Constructs a new SystemCallItem.
|
| |
| auto | type () const |
| |
| bool | isIn () const |
| |
| bool | isOut () const |
| |
| bool | isInOut () const |
| |
| bool | isReturnValue () const |
| |
| void | fill (const Tracee &proc, const Word word) |
| | Fills the item from the given register data.
|
| |
| bool | needsUpdate () const |
| | Returns whether the item needs to be updated after the system call is finished.
|
| |
| std::string_view | shortName () const |
| | Returns the friendly short name for this item.
|
| |
| std::string_view | longName () const |
| | Returns the friendly long name for this item, if available, else the short name.
|
| |
| auto | hasLongName () const |
| |
| bool | isZero () const |
| | Returns whether the parameter is set to 0 / NULL.
|
| |
| Word | value () const |
| | Returns the currently stored raw value of the item.
|
| |
| template<typename OTHER> |
| OTHER | valueAs () const |
| | Helper to cast the strongly typed Word m_val to other strong enum types.
|
| |
| ForeignPtr | asPtr () const |
| |
| Flags | flags () const |
| |
| bool | deferFill () const |
| |
|
| void | processValue (const Tracee &proc) override |
| | Processes the value stored in m_val acc. to the actual item type.
|
| |
| virtual void | updateData (const Tracee &t) |
| | Called upon exit of the system call to update possible out parameters.
|
| |
| void | setSystemCall (const SystemCall &sc) |
| | Sets the system call context this item is a part of.
|
| |
|
| Settings | m_settings |
| |
| const SystemCall * | m_call = nullptr |
| | The system call context this item part of.
|
| |
| const ItemType | m_type |
| | The type of item.
|
| |
| std::string_view | m_short_name |
| | A human readable short name for the item, should be one word only.
|
| |
| std::string_view | m_long_name |
| | A human readable longer name for the item.
|
| |
| Word | m_val |
| | The raw register value for the item.
|
| |
| Flags | m_flags |
| | Flags influencing the processing of the item.
|
| |
The value used with F_NOTIFY fcntl() operations.
Definition at line 237 of file fcntl.hxx.
◆ Settings
| using clues::item::DNotifySettings::Settings = cosmos::BitMask<Setting> |
◆ Setting
| enum class clues::item::DNotifySettings::Setting : int |
|
strong |
Definition at line 241 of file fcntl.hxx.
241 : int {
242 ACCESS = DN_ACCESS,
243 MODIFY = DN_MODIFY,
244 CREATE = DN_CREATE,
245 DELETE = DN_DELETE,
246 RENAME = DN_RENAME,
247 ATTRIB = DN_ATTRIB
248 };
◆ DNotifySettings()
| clues::item::DNotifySettings::DNotifySettings |
( |
| ) |
|
|
inlineexplicit |
Definition at line 256 of file fcntl.hxx.
256 :
257 ValueInParameter{"events", "dnotify event bitmask"} {
258 }
◆ processValue()
| void clues::item::DNotifySettings::processValue |
( |
const Tracee & | | ) |
|
|
overrideprotectedvirtual |
Processes the value stored in m_val acc. to the actual item type.
This function is called for all parameter types upon entry to a system call, and for ItemType::RETVAL upon exit from a system call.
For parameters of ItemType::PARAM_OUT this callback can be used to reset any stored data to be filled in later when updateData() is called.
Reimplemented from clues::SystemCallItem.
Definition at line 361 of file fcntl.cxx.
361 {
363}
OTHER valueAs() const
Helper to cast the strongly typed Word m_val to other strong enum types.
◆ settings()
| auto clues::item::DNotifySettings::settings |
( |
| ) |
const |
|
inline |
Definition at line 260 of file fcntl.hxx.
260 {
261 return m_settings;
262 }
◆ str()
| std::string clues::item::DNotifySettings::str |
( |
| ) |
const |
|
overridevirtual |
Returns a human readable string representation of the item.
This member function should be specialized in derived classes to output the item's data in a fashion suitable for the concrete item type.
Reimplemented from clues::SystemCallItem.
Definition at line 365 of file fcntl.cxx.
365 {
366 BITFLAGS_FORMAT_START(m_settings);
367
368 BITFLAGS_ADD(DN_ACCESS);
369 BITFLAGS_ADD(DN_MODIFY);
370 BITFLAGS_ADD(DN_CREATE);
371 BITFLAGS_ADD(DN_DELETE);
372 BITFLAGS_ADD(DN_RENAME);
373 BITFLAGS_ADD(DN_ATTRIB);
374 BITFLAGS_ADD(DN_MULTISHOT);
375
376 return BITFLAGS_STR();
377}
◆ m_settings
| Settings clues::item::DNotifySettings::m_settings |
|
protected |
The documentation for this class was generated from the following files: