1bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee/*
2bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee INTEL CONFIDENTIAL
3bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee Copyright 2009 Intel Corporation All Rights Reserved.
4bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee The source code contained or described herein and all documents related to the source code ("Material") are owned by Intel Corporation or its suppliers or licensors. Title to the Material remains with Intel Corporation or its suppliers and licensors. The Material contains trade secrets and proprietary and confidential information of Intel or its suppliers and licensors. The Material is protected by worldwide copyright and trade secret laws and treaty provisions. No part of the Material may be used, copied, reproduced, modified, published, uploaded, posted, transmitted, distributed, or disclosed in any way without Intel’s prior express written permission.
5bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
6bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee No license under any patent, copyright, trade secret or other intellectual property right is granted to or conferred upon you by disclosure or delivery of the Materials, either expressly, by implication, inducement, estoppel or otherwise. Any license under such intellectual property rights must be express and approved by Intel in writing.
7bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee */
8bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
9bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
10bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#ifndef VBP_TRACE_H_
11bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define VBP_TRACE_H_
12bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
13bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
14bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
15bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee//#define VBP_TRACE
16bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
17bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
18bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#ifdef VBP_TRACE /* if VBP_TRACE is defined*/
19bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
20bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#include <stdio.h>
21bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#include <stdarg.h>
22bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
23bd8388b4555645b3d29abc6a94c303638064d69awonjong.leeextern void vbp_trace_util(const char* cat, const char* fun, int line, const char* format, ...);
24bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
25bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define VBP_TRACE_UTIL(cat, format, ...) \
26bd8388b4555645b3d29abc6a94c303638064d69awonjong.leevbp_trace_util(cat, __FUNCTION__, __LINE__, format,  ##__VA_ARGS__)
27bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
28bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
29bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define ETRACE(format, ...) VBP_TRACE_UTIL("ERROR:   ",  format, ##__VA_ARGS__)
30bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define WTRACE(format, ...) VBP_TRACE_UTIL("WARNING: ",  format, ##__VA_ARGS__)
31bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define ITRACE(format, ...) VBP_TRACE_UTIL("INFO:    ",  format, ##__VA_ARGS__)
32bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define VTRACE(format, ...) VBP_TRACE_UTIL("VERBOSE: ",  format, ##__VA_ARGS__)
33bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
34bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#else /* if VBP_TRACE is not defined */
35bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
36bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define ETRACE(format, ...)
37bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define WTRACE(format, ...)
38bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define ITRACE(format, ...)
39bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#define VTRACE(format, ...)
40bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
41bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
42bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#endif /* VBP_TRACE*/
43bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
44bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
45bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee#endif /*VBP_TRACE_H_*/
46bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
47bd8388b4555645b3d29abc6a94c303638064d69awonjong.lee
48