summaryrefslogtreecommitdiff
path: root/lldb/bindings/interface/SBUnixSignals.i
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/bindings/interface/SBUnixSignals.i')
-rw-r--r--lldb/bindings/interface/SBUnixSignals.i76
1 files changed, 76 insertions, 0 deletions
diff --git a/lldb/bindings/interface/SBUnixSignals.i b/lldb/bindings/interface/SBUnixSignals.i
new file mode 100644
index 000000000000..8fe3e2a3911f
--- /dev/null
+++ b/lldb/bindings/interface/SBUnixSignals.i
@@ -0,0 +1,76 @@
+//===-- SWIG Interface for SBUnixSignals ------------------------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+namespace lldb {
+
+%feature("docstring",
+"Allows you to manipulate LLDB's signal disposition"
+) SBUnixSignals;
+class SBUnixSignals
+{
+public:
+ SBUnixSignals ();
+
+ SBUnixSignals (const lldb::SBUnixSignals &rhs);
+
+ ~SBUnixSignals();
+
+ void
+ Clear ();
+
+ bool
+ IsValid () const;
+
+ explicit operator bool() const;
+
+ const char *
+ GetSignalAsCString (int32_t signo) const;
+
+ int32_t
+ GetSignalNumberFromName (const char *name) const;
+
+ bool
+ GetShouldSuppress (int32_t signo) const;
+
+ bool
+ SetShouldSuppress (int32_t signo,
+ bool value);
+
+ bool
+ GetShouldStop (int32_t signo) const;
+
+ bool
+ SetShouldStop (int32_t signo,
+ bool value);
+
+ bool
+ GetShouldNotify (int32_t signo) const;
+
+ bool
+ SetShouldNotify (int32_t signo, bool value);
+
+ int32_t
+ GetNumSignals () const;
+
+ int32_t
+ GetSignalAtIndex (int32_t index) const;
+
+#ifdef SWIGPYTHON
+ %pythoncode %{
+ def get_unix_signals_list(self):
+ signals = []
+ for idx in range(0, self.GetNumSignals()):
+ signals.append(self.GetSignalAtIndex(sig))
+ return signals
+
+ threads = property(get_unix_signals_list, None, doc='''A read only property that returns a list() of valid signal numbers for this platform.''')
+ %}
+#endif
+};
+
+} // namespace lldb