Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/llvm-project/lldb/source/Plugins/Process/AIX/NativeThreadAIX.h
213845 views
1
//===-- NativeThreadAIX.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-exception
6
//
7
//===----------------------------------------------------------------------===//
8
9
#ifndef LLDB_SOURCE_PLUGINS_PROCESS_AIX_NATIVETHREADAIX_H_
10
#define LLDB_SOURCE_PLUGINS_PROCESS_AIX_NATIVETHREADAIX_H_
11
12
#include "lldb/Host/common/NativeThreadProtocol.h"
13
14
namespace lldb_private::process_aix {
15
16
class NativeProcessAIX;
17
18
class NativeThreadAIX : public NativeThreadProtocol {
19
friend class NativeProcessAIX;
20
21
public:
22
NativeThreadAIX(NativeProcessAIX &process, lldb::tid_t tid);
23
24
// NativeThreadProtocol Interface
25
std::string GetName() override;
26
27
lldb::StateType GetState() override;
28
29
bool GetStopReason(ThreadStopInfo &stop_info,
30
std::string &description) override;
31
32
Status SetWatchpoint(lldb::addr_t addr, size_t size, uint32_t watch_flags,
33
bool hardware) override;
34
35
Status RemoveWatchpoint(lldb::addr_t addr) override;
36
37
Status SetHardwareBreakpoint(lldb::addr_t addr, size_t size) override;
38
39
Status RemoveHardwareBreakpoint(lldb::addr_t addr) override;
40
41
NativeProcessAIX &GetProcess();
42
43
const NativeProcessAIX &GetProcess() const;
44
45
llvm::Expected<std::unique_ptr<llvm::MemoryBuffer>>
46
GetSiginfo() const override;
47
48
private:
49
lldb::StateType m_state;
50
};
51
} // namespace lldb_private::process_aix
52
53
#endif // #ifndef LLDB_SOURCE_PLUGINS_PROCESS_AIX_NATIVETHREADAIX_H_
54
55