libclues
Linux C++ Tracing Library
Loading...
Searching...
No Matches
clues::item::GroupID Class Reference
+ Inheritance diagram for clues::item::GroupID:

Public Member Functions

 GroupID (const ItemType type=ItemType::RETVAL, const std::string_view short_name="gid", const std::string_view long_name="group id")
 
auto gid () const
 
- 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
 
virtual std::string str () const
 Returns a human readable string representation of the item.
 
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 &) 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

cosmos::GroupID m_gid = cosmos::GroupID::INVALID
 
- Protected Attributes inherited from clues::SystemCallItem
const SystemCallm_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.
 

Additional Inherited Members

- Public Types inherited from clues::SystemCallItem
enum class  Flag { DEFER_FILL = 1 << 0 }
 
using Flags = cosmos::BitMask<Flag>
 

Detailed Description

Definition at line 36 of file creds.hxx.

Constructor & Destructor Documentation

◆ GroupID()

clues::item::GroupID::GroupID ( const ItemType type = ItemType::RETVAL,
const std::string_view short_name = "gid",
const std::string_view long_name = "group id" )
inlineexplicit

Definition at line 40 of file creds.hxx.

42 :
43 SystemCallItem{type, short_name, long_name} {
44 }
SystemCallItem(const ItemType type, const std::string_view short_name={}, const std::string_view long_name={})
Constructs a new SystemCallItem.

Member Function Documentation

◆ gid()

auto clues::item::GroupID::gid ( ) const
inline

Definition at line 46 of file creds.hxx.

46 {
47 return m_gid;
48 }

◆ processValue()

void clues::item::GroupID::processValue ( const Tracee & )
inlineoverrideprotectedvirtual

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 52 of file creds.hxx.

52 {
54 }
OTHER valueAs() const
Helper to cast the strongly typed Word m_val to other strong enum types.

Member Data Documentation

◆ m_gid

cosmos::GroupID clues::item::GroupID::m_gid = cosmos::GroupID::INVALID
protected

Definition at line 58 of file creds.hxx.


The documentation for this class was generated from the following file: