1 //===-- ProcessPOSIXLog.h -----------------------------------------*- C++ 2 //-*-===// 3 // 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 7 // 8 //===----------------------------------------------------------------------===// 9 10 #ifndef liblldb_ProcessPOSIXLog_h_ 11 #define liblldb_ProcessPOSIXLog_h_ 12 13 #include "lldb/Utility/Log.h" 14 #include "llvm/ADT/BitmaskEnum.h" 15 16 namespace lldb_private { 17 18 enum class POSIXLog : Log::MaskType { 19 Breakpoints = Log::ChannelFlag<0>, 20 Memory = Log::ChannelFlag<1>, 21 Process = Log::ChannelFlag<2>, 22 Ptrace = Log::ChannelFlag<3>, 23 Registers = Log::ChannelFlag<4>, 24 Thread = Log::ChannelFlag<5>, 25 Watchpoints = Log::ChannelFlag<6>, 26 Trace = Log::ChannelFlag<7>, 27 LLVM_MARK_AS_BITMASK_ENUM(Trace) 28 }; 29 LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE(); 30 31 class ProcessPOSIXLog { 32 public: 33 static void Initialize(); 34 }; 35 36 template <> Log::Channel &LogChannelFor<POSIXLog>(); 37 } // namespace lldb_private 38 39 #endif // liblldb_ProcessPOSIXLog_h_ 40