1855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi/*
2855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * Copyright (C) 2011 The Android Open Source Project
3855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi *
4855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * Licensed under the Apache License, Version 2.0 (the "License");
5855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * you may not use this file except in compliance with the License.
6855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * You may obtain a copy of the License at
7855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi *
8855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi *      http://www.apache.org/licenses/LICENSE-2.0
9855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi *
10855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * Unless required by applicable law or agreed to in writing, software
11855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * distributed under the License is distributed on an "AS IS" BASIS,
12855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * See the License for the specific language governing permissions and
14855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * limitations under the License.
15855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi */
16855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi/**
17855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi ************************************************************************
18855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * @file         M4OSA_Debug.h
19855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * @brief        Debug and Trace Macro
20855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi ************************************************************************
21855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi*/
22855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
23855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
24855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#ifndef _M4OSA_DEBUG_H_
25855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define _M4OSA_DEBUG_H_
26855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
27855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#include "M4OSA_Error.h"
28855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#include "M4OSA_Types.h"
29855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
30855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
31855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi/* defaut value, defined only if not defined already. */
32855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#ifndef M4TRACE_ID
33855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4TRACE_ID M4UNKNOWN_COREID
34855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#endif /* M4TRACE_ID undefined */
35855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
36855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
37855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_SUPER_DEBUG_LEVEL 0
38855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
39855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#ifndef M4OSA_DEBUG_LEVEL
40855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_DEBUG_LEVEL       0
41855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#endif
42855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
43855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
44855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_SUPER_TRACE_LEVEL 0
45855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
46855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#ifndef M4OSA_TRACE_LEVEL
47855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE_LEVEL       0
48855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#endif
49855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
50855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#ifdef __cplusplus
51855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargiextern "C"
52855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi{
53855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#endif
54855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
55855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
56855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#if (M4OSA_DEBUG_LEVEL >= 1) || (M4OSA_SUPER_DEBUG_LEVEL >= 1)
57855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
58855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi/* Debug macros */
59855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargiextern M4OSA_Void M4OSA_DEBUG_traceFunction(M4OSA_UInt32 line,
60855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi                                            M4OSA_Char* fileName,
61855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi                                            M4OSA_UInt32 level,
62855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi                                            M4OSA_Char* stringCondition,
63855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi                                            M4OSA_Char* message,
64855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi                                            M4OSA_ERR returnedError);
65855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
66855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
67855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_DEBUG_IFx(cond, errorCode, msg, level)\
68855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi      if(cond)\
69855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi      {\
70855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi         M4OSA_DEBUG_traceFunction(__LINE__, (M4OSA_Char*)__FILE__, level,\
71855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi                                   (M4OSA_Char*)#cond, (M4OSA_Char*)msg,
72855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi                                   (errorCode));\
73855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi         return(errorCode);\
74855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi      }
75855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
76855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_DEBUG(errorCode, msg)\
77855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi         M4OSA_DEBUG_traceFunction(__LINE__, (M4OSA_Char*)__FILE__, 1,\
78855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi                                   (M4OSA_Char*)#errorCode, (M4OSA_Char*)msg,
79855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi                                   (errorCode));
80855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
81855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#else /*(M4OSA_DEBUG_LEVEL >= 1) || (M4OSA_SUPER_DEBUG_LEVEL >= 1)*/
82855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
83855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
84855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_DEBUG(errorCode, msg)
85855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
86855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#endif /*(M4OSA_DEBUG_LEVEL >= 1) || (M4OSA_SUPER_DEBUG_LEVEL >= 1)*/
87855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
88855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
89855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
90855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#if (M4OSA_DEBUG_LEVEL >= 1) || (M4OSA_SUPER_DEBUG_LEVEL >= 1)
91855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi #define M4OSA_DEBUG_IF1(cond, errorCode, msg)\
92855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi         M4OSA_DEBUG_IFx(cond, errorCode, msg, 1)
93855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#else
94855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi #define M4OSA_DEBUG_IF1(cond, errorCode, msg)
95855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#endif /*(M4OSA_DEBUG_LEVEL >= 1) || (M4OSA_SUPER_DEBUG_LEVEL >= 1)*/
96855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
97855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
98855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#if (M4OSA_DEBUG_LEVEL >= 2) || (M4OSA_SUPER_DEBUG_LEVEL >= 2)
99855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi #define M4OSA_DEBUG_IF2(cond, errorCode, msg)\
100855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi         M4OSA_DEBUG_IFx(cond, errorCode, msg, 2)
101855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#else
102855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi #define M4OSA_DEBUG_IF2(cond, errorCode, msg)
103855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#endif /*(M4OSA_DEBUG_LEVEL >= 2) || (M4OSA_SUPER_DEBUG_LEVEL >= 2)*/
104855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
105855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
106855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#if (M4OSA_DEBUG_LEVEL >= 3) || (M4OSA_SUPER_DEBUG_LEVEL >= 3)
107855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi #define M4OSA_DEBUG_IF3(cond, errorCode, msg)\
108855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi         M4OSA_DEBUG_IFx(cond, errorCode, msg, 3)
109855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#else
110855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi #define M4OSA_DEBUG_IF3(cond, errorCode, msg)
111855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#endif /*(M4OSA_DEBUG_LEVEL >= 3) || (M4OSA_SUPER_DEBUG_LEVEL >= 3)*/
112855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
113855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
114855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
115855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi/* Trace macros */
116855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
117855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#if (M4OSA_TRACE_LEVEL >= 1) || (M4OSA_SUPER_TRACE_LEVEL >= 1)
118855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
119855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargiextern M4OSA_Void M4OSA_TRACE_traceFunction(M4OSA_UInt32 line,
120855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi                                            M4OSA_Char* fileName,
121855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi                                            M4OSA_CoreID coreID,
122855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi                                            M4OSA_UInt32 level,
123855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi                                            M4OSA_Char* stringMsg,
124855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi                                            ... );
125855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
126855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
127855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
128855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACEx_0(msg, level)\
129855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi      M4OSA_TRACE_traceFunction(__LINE__, (M4OSA_Char*)__FILE__,\
130855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi                             (M4OSA_CoreID)M4TRACE_ID, level, (M4OSA_Char*)msg);
131855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
132855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
133855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACEx_1(msg, param1, level)\
134855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi      M4OSA_TRACE_traceFunction(__LINE__, (M4OSA_Char*)__FILE__,\
135855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi                     (M4OSA_CoreID)M4TRACE_ID, level, (M4OSA_Char*)msg, param1);
136855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
137855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
138855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACEx_2(msg, param1, param2, level)\
139855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi      M4OSA_TRACE_traceFunction(__LINE__, (M4OSA_Char*)__FILE__,\
140855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi                                (M4OSA_CoreID)M4TRACE_ID, level,\
141855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi                                (M4OSA_Char*)msg, param1,\
142855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi                                param2);
143855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
144855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
145855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACEx_3(msg, param1, param2, param3, level)\
146855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi      M4OSA_TRACE_traceFunction(__LINE__, (M4OSA_Char*)__FILE__,\
147855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi                                (M4OSA_CoreID)M4TRACE_ID, level, (M4OSA_Char*)msg,\
148855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi                                param1,param2, param3);
149855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
150855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
151855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACEx_4(msg, param1, param2, param3, param4, level)\
152855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi      M4OSA_TRACE_traceFunction(__LINE__, (M4OSA_Char*)__FILE__,\
153855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi                                (M4OSA_CoreID)M4TRACE_ID, level,\
154855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi                                (M4OSA_Char*)msg, param1,\
155855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi                                param2, param3, param4);
156855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
157855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
158855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACEx_5(msg, param1, param2, param3, param4, param5, level)\
159855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi      M4OSA_TRACE_traceFunction(__LINE__, (M4OSA_Char*)__FILE__,\
160855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi                                (M4OSA_CoreID)M4TRACE_ID, level,\
161855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi                                (M4OSA_Char*)msg, param1,\
162855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi                                param2, param3, param4, param5);
163855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
164855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#endif /*(M4OSA_TRACE_LEVEL >= 1) || (M4OSA_SUPER_TRACE_LEVEL >= 1)*/
165855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
166855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
167855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
168855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#if (M4OSA_TRACE_LEVEL >= 1) || (M4OSA_SUPER_TRACE_LEVEL >= 1)
169855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE1_0(msg)\
170855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi        M4OSA_TRACEx_0(msg, 1)
171855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
172855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE1_1(msg, param1)\
173855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi        M4OSA_TRACEx_1(msg, param1, 1)
174855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
175855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE1_2(msg, param1, param2)\
176855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi        M4OSA_TRACEx_2(msg, param1, param2, 1)
177855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
178855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE1_3(msg, param1, param2, param3)\
179855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi        M4OSA_TRACEx_3(msg, param1, param2, param3, 1)
180855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
181855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE1_4(msg, param1, param2, param3, param4)\
182855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi        M4OSA_TRACEx_4(msg, param1, param2, param3, param4, 1)
183855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
184855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE1_5(msg, param1, param2, param3, param4, param5)\
185855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi        M4OSA_TRACEx_5(msg, param1, param2, param3, param4, param5, 1)
186855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
187855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#else /*(M4OSA_TRACE_LEVEL >= 1) || (M4OSA_SUPER_TRACE_LEVEL >= 1)*/
188855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
189855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE1_0(msg)
190855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE1_1(msg, param1)
191855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE1_2(msg, param1, param2)
192855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE1_3(msg, param1, param2, param3)
193855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE1_4(msg, param1, param2, param3, param4)
194855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE1_5(msg, param1, param2, param3, param4, param5)
195855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
196855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#endif /*(M4OSA_TRACE_LEVEL >= 1) || (M4OSA_SUPER_TRACE_LEVEL >= 1)*/
197855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
198855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
199855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#if (M4OSA_TRACE_LEVEL >= 2) || (M4OSA_SUPER_TRACE_LEVEL >= 2)
200855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE2_0(msg)\
201855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi        M4OSA_TRACEx_0(msg, 2)
202855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
203855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE2_1(msg, param1)\
204855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi        M4OSA_TRACEx_1(msg, param1, 2)
205855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
206855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE2_2(msg, param1, param2)\
207855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi        M4OSA_TRACEx_2(msg, param1, param2, 2)
208855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
209855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE2_3(msg, param1, param2, param3)\
210855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi        M4OSA_TRACEx_3(msg, param1, param2, param3, 2)
211855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
212855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE2_4(msg, param1, param2, param3, param4)\
213855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi        M4OSA_TRACEx_4(msg, param1, param2, param3, param4, 2)
214855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
215855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE2_5(msg, param1, param2, param3, param4, param5)\
216855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi        M4OSA_TRACEx_5(msg, param1, param2, param3, param4, param5, 2)
217855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
218855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#else /*(M4OSA_TRACE_LEVEL >= 2) || (M4OSA_SUPER_TRACE_LEVEL >= 2)*/
219855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
220855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE2_0(msg)
221855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE2_1(msg, param1)
222855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE2_2(msg, param1, param2)
223855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE2_3(msg, param1, param2, param3)
224855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE2_4(msg, param1, param2, param3, param4)
225855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE2_5(msg, param1, param2, param3, param4, param5)
226855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#endif /*(M4OSA_TRACE_LEVEL >= 2) || (M4OSA_SUPER_TRACE_LEVEL >= 2)*/
227855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
228855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
229855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#if (M4OSA_TRACE_LEVEL >= 3) || (M4OSA_SUPER_TRACE_LEVEL >= 3)
230855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE3_0(msg)\
231855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi        M4OSA_TRACEx_0(msg, 3)
232855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
233855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE3_1(msg, param1)\
234855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi        M4OSA_TRACEx_1(msg, param1, 3)
235855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
236855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE3_2(msg, param1, param2)\
237855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi        M4OSA_TRACEx_2(msg, param1, param2, 3)
238855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
239855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE3_3(msg, param1, param2, param3)\
240855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi        M4OSA_TRACEx_3(msg, param1, param2, param3, 3)
241855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
242855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE3_4(msg, param1, param2, param3, param4)\
243855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi        M4OSA_TRACEx_4(msg, param1, param2, param3, param4, 3)
244855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
245855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE3_5(msg, param1, param2, param3, param4, param5)\
246855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi        M4OSA_TRACEx_5(msg, param1, param2, param3, param4, param5, 3)
247855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
248855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#else /*(M4OSA_TRACE_LEVEL >= 3) || (M4OSA_SUPER_TRACE_LEVEL >= 3)*/
249855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
250855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE3_0(msg)
251855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE3_1(msg, param1)
252855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE3_2(msg, param1, param2)
253855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE3_3(msg, param1, param2, param3)
254855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE3_4(msg, param1, param2, param3, param4)
255855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_TRACE3_5(msg, param1, param2, param3, param4, param5)
256855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
257855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#endif /*(M4OSA_TRACE_LEVEL >= 3) || (M4OSA_SUPER_TRACE_LEVEL >= 3)*/
258855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
259855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
260855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
261855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#ifdef __cplusplus
262855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi}
263855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#endif
264855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
265855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#endif /* _M4OSA_DEBUG_H_ */
266855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi
267