1317027Sdim//===-- NativeRegisterContextNetBSD.cpp -------------------------*- C++ -*-===//
2317027Sdim//
3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4353358Sdim// See https://llvm.org/LICENSE.txt for license information.
5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6317027Sdim//
7317027Sdim//===----------------------------------------------------------------------===//
8317027Sdim
9317027Sdim#include "NativeRegisterContextNetBSD.h"
10317027Sdim
11360784Sdim#include "Plugins/Process/NetBSD/NativeProcessNetBSD.h"
12360784Sdim
13317027Sdim#include "lldb/Host/common/NativeProcessProtocol.h"
14317027Sdim
15317027Sdimusing namespace lldb_private;
16317027Sdimusing namespace lldb_private::process_netbsd;
17317027Sdim
18317027Sdim// clang-format off
19317027Sdim#include <sys/types.h>
20317027Sdim#include <sys/ptrace.h>
21317027Sdim// clang-format on
22317027Sdim
23317027SdimNativeRegisterContextNetBSD::NativeRegisterContextNetBSD(
24327952Sdim    NativeThreadProtocol &native_thread,
25317027Sdim    RegisterInfoInterface *reg_info_interface_p)
26327952Sdim    : NativeRegisterContextRegisterInfo(native_thread,
27317027Sdim                                        reg_info_interface_p) {}
28317027Sdim
29353358SdimStatus NativeRegisterContextNetBSD::DoRegisterSet(int ptrace_req, void *buf) {
30353358Sdim  return NativeProcessNetBSD::PtraceWrapper(ptrace_req, GetProcessPid(), buf,
31317027Sdim                                            m_thread.GetID());
32317027Sdim}
33317027Sdim
34317027SdimNativeProcessNetBSD &NativeRegisterContextNetBSD::GetProcess() {
35321238Sdim  return static_cast<NativeProcessNetBSD &>(m_thread.GetProcess());
36317027Sdim}
37317027Sdim
38317027Sdim::pid_t NativeRegisterContextNetBSD::GetProcessPid() {
39321238Sdim  return GetProcess().GetID();
40317027Sdim}
41