summaryrefslogtreecommitdiff
path: root/include/lldb/Host/common/NativeWatchpointList.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/lldb/Host/common/NativeWatchpointList.h')
-rw-r--r--include/lldb/Host/common/NativeWatchpointList.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/include/lldb/Host/common/NativeWatchpointList.h b/include/lldb/Host/common/NativeWatchpointList.h
new file mode 100644
index 0000000000000..7b310e5a0db02
--- /dev/null
+++ b/include/lldb/Host/common/NativeWatchpointList.h
@@ -0,0 +1,47 @@
+//===-- NativeWatchpointList.h ----------------------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef liblldb_NativeWatchpointList_h_
+#define liblldb_NativeWatchpointList_h_
+
+#include "lldb/lldb-private-forward.h"
+#include "lldb/Core/Error.h"
+
+#include <map>
+
+namespace lldb_private
+{
+ struct NativeWatchpoint
+ {
+ lldb::addr_t m_addr;
+ size_t m_size;
+ uint32_t m_watch_flags;
+ bool m_hardware;
+ };
+
+ class NativeWatchpointList
+ {
+ public:
+ Error
+ Add (lldb::addr_t addr, size_t size, uint32_t watch_flags, bool hardware);
+
+ Error
+ Remove (lldb::addr_t addr);
+
+ using WatchpointMap = std::map<lldb::addr_t, NativeWatchpoint>;
+
+ const WatchpointMap&
+ GetWatchpointMap () const;
+
+ private:
+ WatchpointMap m_watchpoints;
+ };
+}
+
+#endif // ifndef liblldb_NativeWatchpointList_h_