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