trace.h
Go to the documentation of this file.
1 /*
2  * Bareflank Hypervisor
3  *
4  * Copyright (C) 2015 Assured Information Security, Inc.
5  * Author: Rian Quinn <quinnr@ainfosec.com>
6  * Author: Brendan Kerrigan <kerriganb@ainfosec.com>
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2.1 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with this library; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21  */
22 
23 // *INDENT-OFF*
24 
25 #define WPP_CONTROL_GUIDS \
26  WPP_DEFINE_CONTROL_GUID ( \
27  bareflankTraceGuid, (648ddd17,f3bf,4444,b6e4,cddbe2ed6dbd), \
28  WPP_DEFINE_BIT(MYDRIVER_ALL_INFO) \
29  WPP_DEFINE_BIT(TRACE_DRIVER) \
30  WPP_DEFINE_BIT(TRACE_DEVICE) \
31  WPP_DEFINE_BIT(TRACE_QUEUE) \
32  )
33 
34 #define WPP_FLAG_LEVEL_LOGGER(flag, level) \
35  WPP_LEVEL_LOGGER(flag)
36 
37 #define WPP_FLAG_LEVEL_ENABLED(flag, level) \
38  (WPP_LEVEL_ENABLED(flag) && WPP_CONTROL(WPP_BIT_ ## flag).Level >= level)
39 
40 #define WPP_LEVEL_FLAGS_LOGGER(lvl,flags) \
41  WPP_LEVEL_LOGGER(flags)
42 
43 #define WPP_LEVEL_FLAGS_ENABLED(lvl, flags) \
44  (WPP_LEVEL_ENABLED(flags) && WPP_CONTROL(WPP_BIT_ ## flags).Level >= lvl)
45 
46 // begin_wpp config
47 // FUNC Trace{FLAG=MYDRIVER_ALL_INFO}(LEVEL, MSG, ...);
48 // FUNC TraceEvents(LEVEL, FLAGS, MSG, ...);
49 // end_wpp
50 
51 // *INDENT-ON*