45 lines · c
1//===-- NativeRegisterContextNetBSD.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 lldb_NativeRegisterContextNetBSD_h10#define lldb_NativeRegisterContextNetBSD_h11 12#include "lldb/Host/common/NativeThreadProtocol.h"13 14#include "Plugins/Process/Utility/NativeRegisterContextRegisterInfo.h"15 16namespace lldb_private {17namespace process_netbsd {18 19class NativeProcessNetBSD;20 21class NativeRegisterContextNetBSD22 : public virtual NativeRegisterContextRegisterInfo {23public:24 // This function is implemented in the NativeRegisterContextNetBSD_*25 // subclasses to create a new instance of the host specific26 // NativeRegisterContextNetBSD. The implementations can't collide as only one27 // NativeRegisterContextNetBSD_* variant should be compiled into the final28 // executable.29 static NativeRegisterContextNetBSD *30 CreateHostNativeRegisterContextNetBSD(const ArchSpec &target_arch,31 NativeThreadProtocol &native_thread);32 virtual llvm::Error33 CopyHardwareWatchpointsFrom(NativeRegisterContextNetBSD &source) = 0;34 35protected:36 Status DoRegisterSet(int req, void *buf);37 virtual NativeProcessNetBSD &GetProcess();38 virtual ::pid_t GetProcessPid();39};40 41} // namespace process_netbsd42} // namespace lldb_private43 44#endif // #ifndef lldb_NativeRegisterContextNetBSD_h45