xref: /openbsd-src/gnu/llvm/lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows.h (revision 061da546b983eb767bad15e67af1174fb0bcf31c)
1*061da546Spatrick //===-- NativeRegisterContextWindows.h --------------------------*- C++ -*-===//
2*061da546Spatrick //
3*061da546Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*061da546Spatrick // See https://llvm.org/LICENSE.txt for license information.
5*061da546Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*061da546Spatrick //
7*061da546Spatrick //===----------------------------------------------------------------------===//
8*061da546Spatrick 
9*061da546Spatrick #ifndef liblldb_NativeRegisterContextWindows_h_
10*061da546Spatrick #define liblldb_NativeRegisterContextWindows_h_
11*061da546Spatrick 
12*061da546Spatrick #include "Plugins/Process/Utility/NativeRegisterContextRegisterInfo.h"
13*061da546Spatrick #include "lldb/Host/common/NativeThreadProtocol.h"
14*061da546Spatrick #include "lldb/Utility/DataBufferHeap.h"
15*061da546Spatrick 
16*061da546Spatrick namespace lldb_private {
17*061da546Spatrick 
18*061da546Spatrick class NativeThreadWindows;
19*061da546Spatrick 
20*061da546Spatrick class NativeRegisterContextWindows : public NativeRegisterContextRegisterInfo {
21*061da546Spatrick public:
22*061da546Spatrick   NativeRegisterContextWindows(
23*061da546Spatrick       NativeThreadProtocol &native_thread,
24*061da546Spatrick       RegisterInfoInterface *reg_info_interface_p);
25*061da546Spatrick 
26*061da546Spatrick   static std::unique_ptr<NativeRegisterContextWindows>
27*061da546Spatrick   CreateHostNativeRegisterContextWindows(const ArchSpec &target_arch,
28*061da546Spatrick                                          NativeThreadProtocol &native_thread);
29*061da546Spatrick 
30*061da546Spatrick protected:
31*061da546Spatrick   lldb::thread_t GetThreadHandle() const;
32*061da546Spatrick };
33*061da546Spatrick 
34*061da546Spatrick } // namespace lldb_private
35*061da546Spatrick 
36*061da546Spatrick #endif // liblldb_NativeRegisterContextWindows_h_
37