15d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*
25d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * Copyright (C) 2010 NXP Semiconductors
35d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
45d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * Licensed under the Apache License, Version 2.0 (the "License");
55d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * you may not use this file except in compliance with the License.
65d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * You may obtain a copy of the License at
75d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
85d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *      http://www.apache.org/licenses/LICENSE-2.0
95d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * Unless required by applicable law or agreed to in writing, software
115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * distributed under the License is distributed on an "AS IS" BASIS,
125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * See the License for the specific language governing permissions and
145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * limitations under the License.
155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/**
195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \file phDbgTrace.h
205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * Project: NFC-FRI-1.1 / HAL4.0
215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * $Date: Tue Apr 28 11:48:33 2009 $
235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * $Author: ing08203 $
245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * $Revision: 1.17 $
255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * $Aliases: NFC_FRI1.1_WK918_R24_1,NFC_FRI1.1_WK920_PREP1,NFC_FRI1.1_WK920_R25_1,NFC_FRI1.1_WK922_PREP1,NFC_FRI1.1_WK922_R26_1,NFC_FRI1.1_WK924_PREP1,NFC_FRI1.1_WK924_R27_1,NFC_FRI1.1_WK926_R28_1,NFC_FRI1.1_WK928_R29_1,NFC_FRI1.1_WK930_R30_1,NFC_FRI1.1_WK934_PREP_1,NFC_FRI1.1_WK934_R31_1,NFC_FRI1.1_WK941_PREP1,NFC_FRI1.1_WK941_PREP2,NFC_FRI1.1_WK941_1,NFC_FRI1.1_WK943_R32_1,NFC_FRI1.1_WK949_PREP1,NFC_FRI1.1_WK943_R32_10,NFC_FRI1.1_WK943_R32_13,NFC_FRI1.1_WK943_R32_14,NFC_FRI1.1_WK1007_R33_1,NFC_FRI1.1_WK1007_R33_4,NFC_FRI1.1_WK1017_PREP1,NFC_FRI1.1_WK1017_R34_1,NFC_FRI1.1_WK1017_R34_2,NFC_FRI1.1_WK1023_R35_1 $
265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*@{*/
305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#ifndef PHDBGTRACE_H
315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define PHDBGTRACE_H
325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*@}*/
335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
34354aeee4f256f2bfb013a1f11324b7f54386feddJeff Hamilton#include <stdio.h>
355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#ifdef PHDBG_TRACES
385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define MAX_TRACE_BUFFER	300
395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#ifndef PHDBG_TRACES_LEVEL_0
415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#ifndef PHDBG_TRACES_LEVEL_1
425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#ifndef PHDBG_TRACES_LEVEL_2
435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define PHDBG_TRACES_LEVEL_0
445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#endif
455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#endif
465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#endif
475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly	extern char phOsalNfc_DbgTraceBuffer[];
495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly	#ifdef PHDBG_TRACES_LEVEL_0
515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly	/*indicates an error that causes a program to abort.*/
535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly	#define PHDBG_FATAL_ERROR(Str)		{\
545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											snprintf(phOsalNfc_DbgTraceBuffer,MAX_TRACE_BUFFER, \
555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											"FATAL ERROR in Module :%s\n",__FILE__);\
565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											phOsalNfc_DbgString(phOsalNfc_DbgTraceBuffer);\
575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											snprintf(phOsalNfc_DbgTraceBuffer, MAX_TRACE_BUFFER, \
585d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly															"In Function:%s\n",__FUNCTION__ );	\
595d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											phOsalNfc_DbgString (phOsalNfc_DbgTraceBuffer);\
605d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly										}
615d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
625d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly	#define PHDBG_CRITICAL_ERROR(Str)	{\
635d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											snprintf(phOsalNfc_DbgTraceBuffer, MAX_TRACE_BUFFER, \
645d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly															"CRITICAL ERROR in Module :%s\n",__FILE__);\
655d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											phOsalNfc_DbgString(phOsalNfc_DbgTraceBuffer);\
665d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											snprintf(phOsalNfc_DbgTraceBuffer, MAX_TRACE_BUFFER, \
675d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly															"In Function:%s\n",__FUNCTION__ );	\
685d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											phOsalNfc_DbgString (phOsalNfc_DbgTraceBuffer);\
695d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly										}
705d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly	#define PHDBG_WARNING(Str)
715d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly	#define PHDBG_INFO(Str)
725d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly	#endif  /*End of PHDBG_TRACES_LEVEL_0 */
735d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
745d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly	#ifdef PHDBG_TRACES_LEVEL_1
755d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
765d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly	/*indicates an error that causes a program to abort.*/
775d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly	#define PHDBG_FATAL_ERROR(Str)		{\
785d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											snprintf(phOsalNfc_DbgTraceBuffer, MAX_TRACE_BUFFER, \
795d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly															"FATAL ERROR in Module :%s\n",__FILE__);\
805d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											phOsalNfc_DbgString(phOsalNfc_DbgTraceBuffer);\
815d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											snprintf(phOsalNfc_DbgTraceBuffer, MAX_TRACE_BUFFER, \
825d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly															"In Function:%s\n",__FUNCTION__ );	\
835d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											phOsalNfc_DbgString (phOsalNfc_DbgTraceBuffer);\
845d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly										}
855d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
865d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly	#define PHDBG_CRITICAL_ERROR(Str)	{\
875d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											snprintf(phOsalNfc_DbgTraceBuffer, MAX_TRACE_BUFFER, \
885d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											"CRITICAL ERROR in Module :%s\n",__FILE__);\
895d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											phOsalNfc_DbgString(phOsalNfc_DbgTraceBuffer);\
905d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											snprintf(phOsalNfc_DbgTraceBuffer, MAX_TRACE_BUFFER, \
915d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly															"In Function:%s\n",__FUNCTION__ );	\
925d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											phOsalNfc_DbgString (phOsalNfc_DbgTraceBuffer);\
935d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly										}
945d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly	/*Normally this macro shall be used indicate system state that might cause problems in future.*/
955d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly	#define PHDBG_WARNING(Str)			{\
965d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											snprintf(phOsalNfc_DbgTraceBuffer, MAX_TRACE_BUFFER, \
975d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly															"WARNING :%s\n",__FILE__);\
985d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											phOsalNfc_DbgString(phOsalNfc_DbgTraceBuffer);\
995d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											phOsalNfc_DbgString (Str);\
1005d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											phOsalNfc_DbgString ("\n");\
1015d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly										}
1025d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly	#define PHDBG_INFO(Str)
1035d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly	#endif /*End of PHDBG_TRACES_LEVEL_1 */
1045d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1055d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly	#ifdef PHDBG_TRACES_LEVEL_2
1065d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1075d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly	/*indicates an error that causes a program to abort.*/
1085d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly	#define PHDBG_FATAL_ERROR(Str)		{\
1095d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											snprintf(phOsalNfc_DbgTraceBuffer, MAX_TRACE_BUFFER, \
1105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											"FATAL ERROR in Module :%s\n",__FILE__);\
1115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											phOsalNfc_DbgString(phOsalNfc_DbgTraceBuffer);\
1125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											snprintf(phOsalNfc_DbgTraceBuffer, MAX_TRACE_BUFFER, \
1135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly															"In Function:%s\n",__FUNCTION__ );	\
1145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											phOsalNfc_DbgString (phOsalNfc_DbgTraceBuffer);\
1155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly										}
1165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly	#define PHDBG_CRITICAL_ERROR(Str)	{\
1185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											snprintf(phOsalNfc_DbgTraceBuffer, MAX_TRACE_BUFFER, \
1195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											"CRITICAL ERROR in Module :%s\n",__FILE__);\
1205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											phOsalNfc_DbgString(phOsalNfc_DbgTraceBuffer);\
1215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											snprintf(phOsalNfc_DbgTraceBuffer, MAX_TRACE_BUFFER, \
1225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly															"In Function:%s\n",__FUNCTION__ );	\
1235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											phOsalNfc_DbgString (phOsalNfc_DbgTraceBuffer);\
1245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly										}
1255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly	/*Normally this macro shall be used indicate system state that might cause problems in future.*/
1265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly	#define PHDBG_WARNING(Str)			{\
1275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											snprintf(phOsalNfc_DbgTraceBuffer, MAX_TRACE_BUFFER, \
1285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											"WARNING :%s\n",__FILE__);\
1295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											phOsalNfc_DbgString(phOsalNfc_DbgTraceBuffer);\
1305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											phOsalNfc_DbgString (Str);\
1315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											phOsalNfc_DbgString ("\n");\
1325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly										}
1335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly	#define PHDBG_INFO(Str)				{\
1355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											snprintf(phOsalNfc_DbgTraceBuffer, MAX_TRACE_BUFFER, \
1365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											"DBG INFO :%s\n",__FILE__);\
1375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											phOsalNfc_DbgString(phOsalNfc_DbgTraceBuffer);\
1385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											phOsalNfc_DbgString (Str);\
1395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly											phOsalNfc_DbgString ("\n");\
1405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly										}
1415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#endif  /*End of PHDBG_TRACES_LEVEL_2 */
1455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#else
1465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define PHDBG_FATAL_ERROR(Str)
1475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define PHDBG_CRITICAL_ERROR(Str)
1485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define PHDBG_WARNING(Str)
1495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define PHDBG_INFO(Str)
1505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#endif /*end of DEBUG trace*/
1535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#endif /* end of PHDBGTRACE_H */
154