2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Distributed under the terms of the MIT License.
5 #ifndef DWARF_TARGET_INTERFACE_H
6 #define DWARF_TARGET_INTERFACE_H
9 #include <Referenceable.h>
19 class DwarfTargetInterface
: public BReferenceable
{
21 virtual ~DwarfTargetInterface();
23 virtual uint32
CountRegisters() const = 0;
24 virtual uint32
RegisterValueType(uint32 index
) const = 0;
26 virtual bool GetRegisterValue(uint32 index
,
27 BVariant
& _value
) const = 0;
28 virtual bool SetRegisterValue(uint32 index
,
29 const BVariant
& value
) = 0;
30 virtual bool IsCalleePreservedRegister(uint32 index
) const
32 virtual status_t
InitRegisterRules(CfaContext
& context
) const
35 virtual bool ReadMemory(target_addr_t address
, void* buffer
,
36 size_t size
) const = 0;
37 virtual bool ReadValueFromMemory(target_addr_t address
,
38 uint32 valueType
, BVariant
& _value
) const
40 virtual bool ReadValueFromMemory(target_addr_t addressSpace
,
41 target_addr_t address
,
42 uint32 valueType
, BVariant
& _value
) const
47 #endif // DWARF_TARGET_INTERFACE_H