traceservices/tracefw/ost_trace_api/unit_test/lauterbach_perf_tester/inc/utracemacros.h
changeset 0 08ec8eefde2f
child 23 26645d81f48d
equal deleted inserted replaced
-1:000000000000 0:08ec8eefde2f
       
     1 // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 //
       
    15 
       
    16 #ifndef UTRACEMACROS_H
       
    17 #define UTRACEMACROS_H
       
    18 
       
    19 
       
    20 /**
       
    21 Dummy class to toss away overflow
       
    22 @internalComponent
       
    23 */
       
    24 #ifndef __KERNEL_MODE__
       
    25 class TTruncateOverflow16 : public TDes16Overflow
       
    26 	{
       
    27 	public:
       
    28 	virtual void Overflow(TDes&) {};
       
    29 	};
       
    30 /**
       
    31 Dummy class to toss away overflow
       
    32 @internalComponent
       
    33 */
       
    34 class TTruncateOverflow8 : public TDes8Overflow
       
    35 	{
       
    36 	public:
       
    37 	virtual void Overflow(TDes8&) {};
       
    38 	};
       
    39 #endif  //__KERNEL_MODE__
       
    40 
       
    41 struct TUint96
       
    42 {
       
    43 	TUint96(TUint32 aData1, TUint32 aData2, TUint32 aData3)
       
    44 	:iData1(aData1), iData2(aData2), iData3(aData3)
       
    45 		{
       
    46 		}
       
    47 	TUint32 iData1;
       
    48 	TUint32 iData2;
       
    49 	TUint32 iData3;
       
    50 };
       
    51 
       
    52 	/**@internalComponent*/
       
    53 #define UTRACE_HEADER(aSize,aClassification,aCategory,aContext,aPc)																\
       
    54 	((((aSize)+(4&(TBool)aContext<<2)+(4&(TBool)aPc<<2))<<BTrace::ESizeIndex*8)										\
       
    55 	+(((BTrace::EContextIdPresent & (aContext<<3))|(BTrace::EPcPresent & (aPc<<4)))<<BTrace::EFlagsIndex*8)			\
       
    56 	+((aClassification)<<BTrace::ECategoryIndex*8)																				\
       
    57 	+((aCategory)<<BTrace::ESubCategoryIndex*8))
       
    58 
       
    59 /**@internalComponent*/
       
    60 #define UTRACE_PRIMARY_0(aClassification,aCategory,aContext,aPc,aFormatId)	\
       
    61 	((BTrace::TBTrace2)BTrace::OutX) \
       
    62 		(UTRACE_HEADER(8,(aClassification),(aCategory),(aContext),(aPc)), (TUint32)(aFormatId))
       
    63 
       
    64 /**@internalComponent*/
       
    65 #define UTRACE_PRIMARY_1(aClassification,aCategory,aContext,aPc,aFormatId, aData1)	\
       
    66 	((BTrace::TBTrace3)BTrace::OutX)\
       
    67 		(UTRACE_HEADER(12,(aClassification),(aCategory),(aContext),(aPc)),(TUint32)(aFormatId),(TUint32)(aData1))
       
    68 
       
    69 /**@internalComponent*/
       
    70 #define UTRACE_PRIMARY_2(aClassification,aCategory,aContext,aPc,aFormatId,aData1,aData2) \
       
    71 	(BTrace::OutX)\
       
    72 		(UTRACE_HEADER(16,(aClassification),(aCategory),(aContext),(aPc)),(TUint32)(aFormatId),(TUint32)(aData1),(TUint32)(aData2))
       
    73 
       
    74 /**@internalComponent
       
    75  * You have to use the ANY macro instread or we can't provide aFormatId
       
    76  */
       
    77 //#define UTRACE_PRIMARY_3(aClassification,aCategory,aContext,aPc,aFormatId,aData1,aData2,aData3) \
       
    78 	(BTrace::OutX)\
       
    79 		(UTRACE_HEADER(16,(aClassification),(aCategory),(aContext),(aPc)),(TUint32)(aFormatId),(TUint32)(aData1),(TUint32)(aData2))
       
    80 
       
    81 /**@internalComponent*/
       
    82 #define UTRACE_PRIMARY_ANY(aClassification,aCategory,aContext,aPc,aData1,aData,aDataSize) \
       
    83 	BTrace::OutBig(UTRACE_HEADER(8,(aClassification),(aCategory),(aContext),(aPc)),(TUint32)(aData1),aData,(TInt)(aDataSize))
       
    84 
       
    85 /**@internalComponent*/
       
    86 #define UTRACE_SECONDARY_0(aClassification,aModuleUid,aCategory,aContext,aPc,aFormatId)	\
       
    87 	((BTrace::TBTrace3)BTrace::OutFilteredX)(UTRACE_HEADER(12,(aClassification),(aCategory),(aContext),(aPc)),(TUint32)(aModuleUid),(TUint32)(aFormatId))
       
    88 
       
    89 /** @internalComponent */
       
    90 #define UTRACE_SECONDARY_1(aClassification,aModuleUid,aCategory,aContext,aPc,aFormatId, aData1) \
       
    91 	(BTrace::OutFilteredX)(UTRACE_HEADER(16,(aClassification),(aCategory),(aContext),(aPc)),(TUint32)(aModuleUid),(TUint32)(aFormatId),(TUint32)(aData1))
       
    92 
       
    93 /** @internalComponent 
       
    94  * You have to use the ANY macro instead.
       
    95  */
       
    96 #define UTRACE_SECONDARY_2(aClassification,aModuleUid,aCategory,aContext,aPc,aData1,aData2) \
       
    97 	BTrace::OutFilteredX(UTRACE_HEADER(16,(aClassification),(aCategory),(aContext),(aPc)),(TUint32)(aModuleUid),(TUint32)(aData1),(TUint32)(aData2))
       
    98 
       
    99 /** @internalComponent 
       
   100  * You have to pack the aFormatId as part of the aData because there is no extra space for it
       
   101  */
       
   102 #define UTRACE_SECONDARY_ANY(aClassification,aModuleUid,aCategory,aContext,aPc,aData,aDataSize) \
       
   103 	BTrace::OutFilteredBig(UTRACE_HEADER(8,(aClassification),(aCategory),(aContext),(aPc)),(TUint32)(aModuleUid),aData,(TInt)(aDataSize))
       
   104 
       
   105 #endif /*UTRACEMACROS_H*/