]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/tools/lldb/include/lldb/Utility/Logging.h
Upgrade Unbound to 1.6.2. More to follow.
[FreeBSD/FreeBSD.git] / contrib / llvm / tools / lldb / include / lldb / Utility / Logging.h
1 //===-- Logging.h -----------------------------------------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9
10 #ifndef LLDB_UTILITY_LOGGING_H
11 #define LLDB_UTILITY_LOGGING_H
12
13 #include <cstdint>
14
15 //----------------------------------------------------------------------
16 // Log Bits specific to logging in lldb
17 //----------------------------------------------------------------------
18 #define LIBLLDB_LOG_PROCESS (1u << 1)
19 #define LIBLLDB_LOG_THREAD (1u << 2)
20 #define LIBLLDB_LOG_DYNAMIC_LOADER (1u << 3)
21 #define LIBLLDB_LOG_EVENTS (1u << 4)
22 #define LIBLLDB_LOG_BREAKPOINTS (1u << 5)
23 #define LIBLLDB_LOG_WATCHPOINTS (1u << 6)
24 #define LIBLLDB_LOG_STEP (1u << 7)
25 #define LIBLLDB_LOG_EXPRESSIONS (1u << 8)
26 #define LIBLLDB_LOG_TEMPORARY (1u << 9)
27 #define LIBLLDB_LOG_STATE (1u << 10)
28 #define LIBLLDB_LOG_OBJECT (1u << 11)
29 #define LIBLLDB_LOG_COMMUNICATION (1u << 12)
30 #define LIBLLDB_LOG_CONNECTION (1u << 13)
31 #define LIBLLDB_LOG_HOST (1u << 14)
32 #define LIBLLDB_LOG_UNWIND (1u << 15)
33 #define LIBLLDB_LOG_API (1u << 16)
34 #define LIBLLDB_LOG_SCRIPT (1u << 17)
35 #define LIBLLDB_LOG_COMMANDS (1U << 18)
36 #define LIBLLDB_LOG_TYPES (1u << 19)
37 #define LIBLLDB_LOG_SYMBOLS (1u << 20)
38 #define LIBLLDB_LOG_MODULES (1u << 21)
39 #define LIBLLDB_LOG_TARGET (1u << 22)
40 #define LIBLLDB_LOG_MMAP (1u << 23)
41 #define LIBLLDB_LOG_OS (1u << 24)
42 #define LIBLLDB_LOG_PLATFORM (1u << 25)
43 #define LIBLLDB_LOG_SYSTEM_RUNTIME (1u << 26)
44 #define LIBLLDB_LOG_JIT_LOADER (1u << 27)
45 #define LIBLLDB_LOG_LANGUAGE (1u << 28)
46 #define LIBLLDB_LOG_DATAFORMATTERS (1u << 29)
47 #define LIBLLDB_LOG_DEMANGLE (1u << 30)
48 #define LIBLLDB_LOG_ALL (UINT32_MAX)
49 #define LIBLLDB_LOG_DEFAULT                                                    \
50   (LIBLLDB_LOG_PROCESS | LIBLLDB_LOG_THREAD | LIBLLDB_LOG_DYNAMIC_LOADER |     \
51    LIBLLDB_LOG_BREAKPOINTS | LIBLLDB_LOG_WATCHPOINTS | LIBLLDB_LOG_STEP |      \
52    LIBLLDB_LOG_STATE | LIBLLDB_LOG_SYMBOLS | LIBLLDB_LOG_TARGET |              \
53    LIBLLDB_LOG_COMMANDS)
54
55 namespace lldb_private {
56
57 class Log;
58
59 void LogIfAnyCategoriesSet(uint32_t mask, const char *format, ...);
60
61 Log *GetLogIfAllCategoriesSet(uint32_t mask);
62
63 Log *GetLogIfAnyCategoriesSet(uint32_t mask);
64
65 void InitializeLldbChannel();
66
67 } // namespace lldb_private
68
69 #endif // LLDB_UTILITY_LOGGING_H