48 lines · c
1//===-- RegisterContextWindows_arm.h ----------------------------*- C++ -*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef liblldb_RegisterContextWindows_arm_H_10#define liblldb_RegisterContextWindows_arm_H_11 12#if defined(__arm__) || defined(_M_ARM)13 14#include "RegisterContextWindows.h"15#include "lldb/lldb-forward.h"16 17namespace lldb_private {18 19class Thread;20 21class RegisterContextWindows_arm : public RegisterContextWindows {22public:23 // Constructors and Destructors24 RegisterContextWindows_arm(Thread &thread, uint32_t concrete_frame_idx);25 26 virtual ~RegisterContextWindows_arm();27 28 // Subclasses must override these functions29 size_t GetRegisterCount() override;30 31 const RegisterInfo *GetRegisterInfoAtIndex(size_t reg) override;32 33 size_t GetRegisterSetCount() override;34 35 const RegisterSet *GetRegisterSet(size_t reg_set) override;36 37 bool ReadRegister(const RegisterInfo *reg_info,38 RegisterValue ®_value) override;39 40 bool WriteRegister(const RegisterInfo *reg_info,41 const RegisterValue ®_value) override;42};43} // namespace lldb_private44 45#endif // defined(__arm__) || defined(_M_ARM)46 47#endif // #ifndef liblldb_RegisterContextWindows_arm_H_48