1 //===-- ProcessKDPLog.h -----------------------------------------*- C++ -*-===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 #ifndef LLDB_SOURCE_PLUGINS_PROCESS_MACOSX_KERNEL_PROCESSKDPLOG_H
10 #define LLDB_SOURCE_PLUGINS_PROCESS_MACOSX_KERNEL_PROCESSKDPLOG_H
12 #include "lldb/Utility/Log.h"
13 #include "llvm/ADT/BitmaskEnum.h"
15 namespace lldb_private
{
17 enum class KDPLog
: Log::MaskType
{
18 Async
= Log::ChannelFlag
<0>,
19 Breakpoints
= Log::ChannelFlag
<1>,
20 Comm
= Log::ChannelFlag
<2>,
21 MemoryDataLong
= Log::ChannelFlag
<3>, // Log all memory reads/writes bytes
22 MemoryDataShort
= Log::ChannelFlag
<4>, // Log short memory reads/writes bytes
23 Memory
= Log::ChannelFlag
<5>, // Log memory reads/writes calls
24 Packets
= Log::ChannelFlag
<6>,
25 Process
= Log::ChannelFlag
<7>,
26 Step
= Log::ChannelFlag
<8>,
27 Thread
= Log::ChannelFlag
<9>,
28 Watchpoints
= Log::ChannelFlag
<10>,
29 LLVM_MARK_AS_BITMASK_ENUM(Watchpoints
)
31 LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE();
35 static void Initialize();
38 template <> Log::Channel
&LogChannelFor
<KDPLog
>();
41 #endif // LLDB_SOURCE_PLUGINS_PROCESS_MACOSX_KERNEL_PROCESSKDPLOG_H