]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/tools/lldb/include/lldb/Host/common/NativeWatchpointList.h
file: update to 5.34
[FreeBSD/FreeBSD.git] / contrib / llvm / tools / lldb / include / lldb / Host / common / NativeWatchpointList.h
1 //===-- NativeWatchpointList.h ----------------------------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9
10 #ifndef liblldb_NativeWatchpointList_h_
11 #define liblldb_NativeWatchpointList_h_
12
13 #include "lldb/Utility/Status.h"
14 #include "lldb/lldb-private-forward.h"
15
16 #include <map>
17
18 namespace lldb_private {
19 struct NativeWatchpoint {
20   lldb::addr_t m_addr;
21   size_t m_size;
22   uint32_t m_watch_flags;
23   bool m_hardware;
24 };
25
26 class NativeWatchpointList {
27 public:
28   Status Add(lldb::addr_t addr, size_t size, uint32_t watch_flags,
29              bool hardware);
30
31   Status Remove(lldb::addr_t addr);
32
33   using WatchpointMap = std::map<lldb::addr_t, NativeWatchpoint>;
34
35   const WatchpointMap &GetWatchpointMap() const;
36
37 private:
38   WatchpointMap m_watchpoints;
39 };
40 }
41
42 #endif // ifndef liblldb_NativeWatchpointList_h_