xref: /freebsd-src/contrib/llvm-project/lldb/source/Plugins/Process/POSIX/ProcessPOSIXLog.h (revision 81ad626541db97eb356e2c1d4a20eb2a26a766ab)
10b57cec5SDimitry Andric //===-- ProcessPOSIXLog.h -----------------------------------------*- C++
20b57cec5SDimitry Andric //-*-===//
30b57cec5SDimitry Andric //
40b57cec5SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
50b57cec5SDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
60b57cec5SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
70b57cec5SDimitry Andric //
80b57cec5SDimitry Andric //===----------------------------------------------------------------------===//
90b57cec5SDimitry Andric 
100b57cec5SDimitry Andric #ifndef liblldb_ProcessPOSIXLog_h_
110b57cec5SDimitry Andric #define liblldb_ProcessPOSIXLog_h_
120b57cec5SDimitry Andric 
130b57cec5SDimitry Andric #include "lldb/Utility/Log.h"
14*81ad6265SDimitry Andric #include "llvm/ADT/BitmaskEnum.h"
150b57cec5SDimitry Andric 
160b57cec5SDimitry Andric namespace lldb_private {
170b57cec5SDimitry Andric 
1804eeddc0SDimitry Andric enum class POSIXLog : Log::MaskType {
1904eeddc0SDimitry Andric   Breakpoints = Log::ChannelFlag<0>,
2004eeddc0SDimitry Andric   Memory = Log::ChannelFlag<1>,
2104eeddc0SDimitry Andric   Process = Log::ChannelFlag<2>,
2204eeddc0SDimitry Andric   Ptrace = Log::ChannelFlag<3>,
2304eeddc0SDimitry Andric   Registers = Log::ChannelFlag<4>,
2404eeddc0SDimitry Andric   Thread = Log::ChannelFlag<5>,
2504eeddc0SDimitry Andric   Watchpoints = Log::ChannelFlag<6>,
26*81ad6265SDimitry Andric   Trace = Log::ChannelFlag<7>,
27*81ad6265SDimitry Andric   LLVM_MARK_AS_BITMASK_ENUM(Trace)
2804eeddc0SDimitry Andric };
29*81ad6265SDimitry Andric LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE();
3004eeddc0SDimitry Andric 
3104eeddc0SDimitry Andric class ProcessPOSIXLog {
320b57cec5SDimitry Andric public:
330b57cec5SDimitry Andric   static void Initialize();
340b57cec5SDimitry Andric };
3504eeddc0SDimitry Andric 
3604eeddc0SDimitry Andric template <> Log::Channel &LogChannelFor<POSIXLog>();
3704eeddc0SDimitry Andric } // namespace lldb_private
380b57cec5SDimitry Andric 
390b57cec5SDimitry Andric #endif // liblldb_ProcessPOSIXLog_h_
40