|
libclues
Linux C++ Tracing Library
|
Inheritance diagram for clues::item::FcntlOperation:Public Types | |
| enum class | Oper : int { DUPFD = F_DUPFD , DUPFD_CLOEXEC = F_DUPFD_CLOEXEC , GETFD = F_GETFD , SETFD = F_SETFD , GETFL = F_GETFL , SETFL = F_SETFL , GETLK = 5 , SETLK = 6 , SETLKW = 7 , GETLK64 = 12 , SETLK64 = 13 , SETLKW64 = 14 , OFD_SETLK = F_OFD_SETLK , OFD_SETLKW = F_OFD_SETLKW , OFD_GETLK = F_OFD_GETLK , GETOWN = F_GETOWN , SETOWN = F_SETOWN , GETOWN_EX = F_GETOWN_EX , SETOWN_EX = F_SETOWN_EX , GETSIG = F_GETSIG , SETSIG = F_SETSIG , SETLEASE = F_SETLEASE , GETLEASE = F_GETLEASE , NOTIFY = F_NOTIFY , SETPIPE_SZ = F_SETPIPE_SZ , GETPIPE_SZ = F_GETPIPE_SZ , ADD_SEALS = F_ADD_SEALS , GET_SEALS = F_GET_SEALS , GET_RW_HINT = F_GET_RW_HINT , SET_RW_HINT = F_SET_RW_HINT , GET_FILE_RW_HINT = F_GET_FILE_RW_HINT , SET_FILE_RW_HINT = F_SET_FILE_RW_HINT , INVALID = std::numeric_limits<int>::max() } |
All possible arguments for the op parameter to fcntl(2). More... | |
Public Types inherited from clues::SystemCallItem | |
| enum class | Flag { DEFER_FILL = 1 << 0 } |
| using | Flags = cosmos::BitMask<Flag> |
Public Member Functions | |
| std::string | str () const override |
| Returns a human readable string representation of the item. | |
| Oper | operation () const |
| bool | isLock64 () const |
| Returns whether the operation is one of the LK64 operations. | |
Public Member Functions inherited from clues::item::ValueInParameter | |
| ValueInParameter (const std::string_view short_name, const std::string_view long_name={}) | |
Public Member Functions inherited from clues::item::ValueParameter | |
| ValueParameter (const ItemType type, const std::string_view short_name, const std::string_view long_name={}) | |
Public Member Functions inherited from clues::SystemCallItem | |
| 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 |
Protected Member Functions | |
| void | processValue (const Tracee &proc) override |
| Processes the value stored in m_val acc. to the actual item type. | |
Protected Member Functions inherited from clues::SystemCallItem | |
| 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. | |
Protected Attributes | |
| Oper | m_op = INVALID |
Protected Attributes inherited from clues::SystemCallItem | |
| 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. | |
|
strong |
All possible arguments for the op parameter to fcntl(2).
Definition at line 26 of file fcntl.hxx.
|
inline |
|
inline |
|
inline |
|
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 29 of file fcntl.cxx.
|
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 33 of file fcntl.cxx.