xref: /openbsd-src/gnu/llvm/lldb/source/Plugins/Process/POSIX/ProcessPOSIXLog.h (revision f6aab3d83b51b91c24247ad2c2573574de475a82)
1061da546Spatrick //===-- ProcessPOSIXLog.h -----------------------------------------*- C++
2061da546Spatrick //-*-===//
3061da546Spatrick //
4061da546Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5061da546Spatrick // See https://llvm.org/LICENSE.txt for license information.
6061da546Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7061da546Spatrick //
8061da546Spatrick //===----------------------------------------------------------------------===//
9061da546Spatrick 
10061da546Spatrick #ifndef liblldb_ProcessPOSIXLog_h_
11061da546Spatrick #define liblldb_ProcessPOSIXLog_h_
12061da546Spatrick 
13061da546Spatrick #include "lldb/Utility/Log.h"
14*f6aab3d8Srobert #include "llvm/ADT/BitmaskEnum.h"
15061da546Spatrick 
16061da546Spatrick namespace lldb_private {
17061da546Spatrick 
18*f6aab3d8Srobert enum class POSIXLog : Log::MaskType {
19*f6aab3d8Srobert   Breakpoints = Log::ChannelFlag<0>,
20*f6aab3d8Srobert   Memory = Log::ChannelFlag<1>,
21*f6aab3d8Srobert   Process = Log::ChannelFlag<2>,
22*f6aab3d8Srobert   Ptrace = Log::ChannelFlag<3>,
23*f6aab3d8Srobert   Registers = Log::ChannelFlag<4>,
24*f6aab3d8Srobert   Thread = Log::ChannelFlag<5>,
25*f6aab3d8Srobert   Watchpoints = Log::ChannelFlag<6>,
26*f6aab3d8Srobert   Trace = Log::ChannelFlag<7>,
27*f6aab3d8Srobert   LLVM_MARK_AS_BITMASK_ENUM(Trace)
28*f6aab3d8Srobert };
29*f6aab3d8Srobert LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE();
30*f6aab3d8Srobert 
31*f6aab3d8Srobert class ProcessPOSIXLog {
32061da546Spatrick public:
33061da546Spatrick   static void Initialize();
34061da546Spatrick };
35*f6aab3d8Srobert 
36*f6aab3d8Srobert template <> Log::Channel &LogChannelFor<POSIXLog>();
37*f6aab3d8Srobert } // namespace lldb_private
38061da546Spatrick 
39061da546Spatrick #endif // liblldb_ProcessPOSIXLog_h_
40