1 //===-- SBUnixSignals.h -----------------------------------------------*- C++
4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5 // See https://llvm.org/LICENSE.txt for license information.
6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
8 //===----------------------------------------------------------------------===//
10 #ifndef LLDB_SBUnixSignals_h_
11 #define LLDB_SBUnixSignals_h_
13 #include "lldb/API/SBDefines.h"
17 class LLDB_API SBUnixSignals {
21 SBUnixSignals(const lldb::SBUnixSignals &rhs);
25 const SBUnixSignals &operator=(const lldb::SBUnixSignals &rhs);
29 explicit operator bool() const;
33 const char *GetSignalAsCString(int32_t signo) const;
35 int32_t GetSignalNumberFromName(const char *name) const;
37 bool GetShouldSuppress(int32_t signo) const;
39 bool SetShouldSuppress(int32_t signo, bool value);
41 bool GetShouldStop(int32_t signo) const;
43 bool SetShouldStop(int32_t signo, bool value);
45 bool GetShouldNotify(int32_t signo) const;
47 bool SetShouldNotify(int32_t signo, bool value);
49 int32_t GetNumSignals() const;
51 int32_t GetSignalAtIndex(int32_t index) const;
54 friend class SBProcess;
55 friend class SBPlatform;
57 SBUnixSignals(lldb::ProcessSP &process_sp);
59 SBUnixSignals(lldb::PlatformSP &platform_sp);
61 lldb::UnixSignalsSP GetSP() const;
63 void SetSP(const lldb::UnixSignalsSP &signals_sp);
66 lldb::UnixSignalsWP m_opaque_wp;
71 #endif // LLDB_SBUnixSignals_h_