xref: /qemu/include/qemu/log-for-trace.h (revision 27a985159a80430a0a43161797ca14ef946962b8)
1be0aa7acSPeter Maydell /* log-for-trace.h: logging basics required by the trace.h generated
2be0aa7acSPeter Maydell  * by the log trace backend.
3be0aa7acSPeter Maydell  *
4be0aa7acSPeter Maydell  * This should not be included directly by any .c file: if you
5be0aa7acSPeter Maydell  * need to use the logging functions include "qemu/log.h".
6be0aa7acSPeter Maydell  *
7be0aa7acSPeter Maydell  * The purpose of splitting these parts out into their own header
8be0aa7acSPeter Maydell  * is to catch the easy mistake where a .c file includes trace.h
9be0aa7acSPeter Maydell  * but forgets to include qemu/log.h. Without this split, that
10be0aa7acSPeter Maydell  * would result in the .c file compiling fine when the default
11be0aa7acSPeter Maydell  * trace backend is in use but failing to compile with any other
12be0aa7acSPeter Maydell  * backend.
13be0aa7acSPeter Maydell  *
14be0aa7acSPeter Maydell  * This code is licensed under the GNU General Public License,
15be0aa7acSPeter Maydell  * version 2 or (at your option) any later version.
16be0aa7acSPeter Maydell  */
17be0aa7acSPeter Maydell 
18be0aa7acSPeter Maydell #ifndef QEMU_LOG_FOR_TRACE_H
19be0aa7acSPeter Maydell #define QEMU_LOG_FOR_TRACE_H
20be0aa7acSPeter Maydell 
21be0aa7acSPeter Maydell /* Private global variable, don't use */
22be0aa7acSPeter Maydell extern int qemu_loglevel;
23be0aa7acSPeter Maydell 
24be0aa7acSPeter Maydell #define LOG_TRACE          (1 << 15)
25be0aa7acSPeter Maydell 
26be0aa7acSPeter Maydell /* Returns true if a bit is set in the current loglevel mask */
qemu_loglevel_mask(int mask)27be0aa7acSPeter Maydell static inline bool qemu_loglevel_mask(int mask)
28be0aa7acSPeter Maydell {
29be0aa7acSPeter Maydell     return (qemu_loglevel & mask) != 0;
30be0aa7acSPeter Maydell }
31be0aa7acSPeter Maydell 
32be0aa7acSPeter Maydell /* main logging function */
33*3c06a417SRichard Henderson void G_GNUC_PRINTF(1, 2) qemu_log(const char *fmt, ...);
34be0aa7acSPeter Maydell 
35be0aa7acSPeter Maydell #endif
36