4#include <cosmos/proc/mman.hxx>
7#include <clues/items/items.hxx>
12class CLUES_API MemoryProtectionParameter :
13 public ValueInParameter {
16 explicit MemoryProtectionParameter() :
17 ValueInParameter{
"prot",
"protection"} {
20 std::string
str()
const override;
34 cosmos::mem::AccessFlags m_prot;
38class CLUES_API MapFlagsParameter :
39 public ValueInParameter {
42 explicit MapFlagsParameter() :
43 ValueInParameter{
"flags",
"memory mapping flags"} {
46 std::string
str()
const override;
48 cosmos::mem::MapType type()
const {
52 cosmos::mem::MapFlags flags()
const {
64 m_flags = cosmos::mem::MapFlags{raw & ~0x3};
65 m_type = cosmos::mem::MapType{raw & 0x3};
70 cosmos::mem::MapType m_type = cosmos::mem::MapType{0};
71 cosmos::mem::MapFlags m_flags;
75class CLUES_API OldMmapArgs :
76 public PointerInValue {
79 explicit OldMmapArgs() :
80 PointerInValue{
"args"} {
91 size_t length()
const {
95 size_t offset()
const {
99 cosmos::mem::MapType type()
const {
103 cosmos::mem::MapFlags flags()
const {
107 cosmos::mem::AccessFlags prot()
const {
111 cosmos::FileNum fd()
const {
119 std::string
str()
const override;
123 bool m_valid =
false;
127 cosmos::mem::MapType m_type{0};
128 cosmos::mem::MapFlags m_flags;
129 cosmos::mem::AccessFlags m_prot;
130 cosmos::FileNum m_fd;
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 &) override
Processes the value stored in m_val acc. to the actual item type.
void processValue(const Tracee &) 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.
std::string str() const override
Returns a human readable string representation of the item.
ForeignPtr
Strongly typed opaque pointer to tracee memory.