xref: /openbsd-src/gnu/llvm/lldb/source/Plugins/Process/Utility/RegisterContextLinux_s390x.h (revision dda2819751e49c83612958492e38917049128b41)
1061da546Spatrick //===-- RegisterContextLinux_s390x.h ----------------------------*- C++ -*-===//
2061da546Spatrick //
3061da546Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4061da546Spatrick // See https://llvm.org/LICENSE.txt for license information.
5061da546Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6061da546Spatrick //
7061da546Spatrick //===----------------------------------------------------------------------===//
8061da546Spatrick 
9*dda28197Spatrick #ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTLINUX_S390X_H
10*dda28197Spatrick #define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTLINUX_S390X_H
11061da546Spatrick 
12061da546Spatrick #include "RegisterInfoInterface.h"
13061da546Spatrick 
14061da546Spatrick class RegisterContextLinux_s390x : public lldb_private::RegisterInfoInterface {
15061da546Spatrick public:
16061da546Spatrick   RegisterContextLinux_s390x(const lldb_private::ArchSpec &target_arch);
17061da546Spatrick 
18061da546Spatrick   size_t GetGPRSize() const override;
19061da546Spatrick 
20061da546Spatrick   const lldb_private::RegisterInfo *GetRegisterInfo() const override;
21061da546Spatrick 
22061da546Spatrick   uint32_t GetRegisterCount() const override;
23061da546Spatrick 
24061da546Spatrick   uint32_t GetUserRegisterCount() const override;
25061da546Spatrick 
26061da546Spatrick   const std::vector<lldb_private::RegisterInfo> *
27061da546Spatrick   GetDynamicRegisterInfoP() const override;
28061da546Spatrick 
29061da546Spatrick private:
30061da546Spatrick   const lldb_private::RegisterInfo *m_register_info_p;
31061da546Spatrick   uint32_t m_register_info_count;
32061da546Spatrick   uint32_t m_user_register_count;
33061da546Spatrick   std::vector<lldb_private::RegisterInfo> d_register_infos;
34061da546Spatrick };
35061da546Spatrick 
36061da546Spatrick #endif
37