brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 08490aa Raw
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