1 // Copyright 2017 The Fuchsia Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #pragma once
6 
7 #include <stdint.h>
8 #include <stdio.h>
9 
10 namespace devmgr {
11 
12 #define LOG_ERROR    0x001
13 #define LOG_INFO     0x002
14 #define LOG_TRACE    0x004
15 #define LOG_SPEW     0x008
16 #define LOG_RPC_IN   0x010
17 #define LOG_RPC_OUT  0x020
18 #define LOG_RPC_RIO  0x040
19 #define LOG_RPC_SDW  0x080
20 #define LOG_DEVFS    0x100
21 #define LOG_DEVLC    0x200
22 #define LOG_ALL      0x3ff
23 
24 extern uint32_t log_flags;
25 
26 #define log(flag, fmt...) do { if (LOG_##flag & ::devmgr::log_flags) printf(fmt); } while (0)
27 
28 } // namespace devmgr
29