btrfs: [] on the end of a struct field is a variable length array.
[haiku.git] / headers / private / debugger / arch / CpuState.h
blob5d50154178b1c94f12443538191f422a215f3fce
1 /*
2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Copyright 2011, Rene Gollent, rene@gollent.com.
4 * Distributed under the terms of the MIT License.
5 */
6 #ifndef CPU_STATE_H
7 #define CPU_STATE_H
9 #include <OS.h>
11 #include <Referenceable.h>
12 #include <Variant.h>
14 #include "Types.h"
17 class Register;
20 class CpuState : public BReferenceable {
21 public:
22 virtual ~CpuState();
24 virtual status_t Clone(CpuState*& _clone) const = 0;
26 virtual status_t UpdateDebugState(void* state, size_t size)
27 const = 0;
29 virtual target_addr_t InstructionPointer() const = 0;
30 virtual void SetInstructionPointer(
31 target_addr_t address) = 0;
33 virtual target_addr_t StackFramePointer() const = 0;
34 virtual target_addr_t StackPointer() const = 0;
35 virtual bool GetRegisterValue(const Register* reg,
36 BVariant& _value) const = 0;
37 virtual bool SetRegisterValue(const Register* reg,
38 const BVariant& value) = 0;
43 #endif // CPU_STATE_H