--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/traceservices/tracefw/integ_test/ost/TEF/traces/te_instrumentationpoints_enabledTraces.h Fri Jan 22 11:06:30 2010 +0200
@@ -0,0 +1,633 @@
+// Created by TraceCompiler 1.3.1
+// DO NOT EDIT, CHANGES WILL BE LOST
+
+#ifndef __TE_INSTRUMENTATIONPOINTS_ENABLEDTRACES_H__
+#define __TE_INSTRUMENTATIONPOINTS_ENABLEDTRACES_H__
+
+#define KOstTraceComponentID 0x1028722e
+
+#define TEST_OstTraceDef0 0x810001
+#define TEST_OstTraceDef1 0x810002
+#define TEST_OstTraceDefData 0x810003
+#define TEST_OstTraceDefExt1 0x810004
+#define TEST_OstTraceDefExt2 0x810005
+#define TEST_OstTraceDefExt3 0x810006
+#define TEST_OstTraceDefExt4 0x810007
+#define TEST_OstTraceDefExt5 0x810008
+#define TEST_OSTTRACE0 0x810009
+#define TEST_OSTTRACE1 0x81000a
+#define TEST_OSTTRACEDATA 0x81000b
+#define TEST_OSTTRACEEXT1 0x81000c
+#define TEST_OSTTRACEEXT2 0x81000d
+#define TEST_OSTTRACEEXT3 0x81000e
+#define TEST_OSTTRACEEXT4 0x81000f
+#define TEST_OSTTRACEEXT5 0x810010
+#define TEST_OSTTRACEDATA96 0x810011
+#define TEST_OSTTRACEDATA1000 0x810012
+#define TEST_OSTTraceFunctionalityEntry0 0x8a0001
+#define TEST_OSTTraceFunctionalityEntry1 0x8a0002
+#define TEST_OSTTraceFunctionalityExt 0x8a0003, ( TUint )&( aApiRunConfig ), ( TUint )&( aApiRunResults )
+#define TEST_OstTraceFunctionExit0 0x8a0004
+#define TEST_OSTTRACEFUNCTIONEXIT1 0x8a0005
+#define TEST_OSTTRACEFUNCTIONEXITEXT 0x8a0006
+#define TEST_OSTTRACEEVENTSTART0 0x8b0001
+#define TEST_OSTTRACEEVENTSTART1 0x8b0002
+#define TEST_OSTTRACEEVENTSTOP 0x8b0003
+#define TEST_OSTTRACESTATE0 0x870001
+#define TEST_OSTTRACESTATE1 0x870002
+
+
+inline TBool OstTraceGen1( TUint32 aTraceID, const TDesC8& aParam1 )
+ {
+ TBool retval;
+ TInt size = aParam1.Size();
+ // BTrace assumes that parameter size is atleast 4 bytes
+ if (size % 4 == 0)
+ {
+ TUint8* ptr = ( TUint8* )aParam1.Ptr();
+ // Data is written directly and length is determined from trace message length
+ retval = OstSendNBytes( EXTRACT_GROUP_ID(aTraceID), EOstTrace, KOstTraceComponentID, aTraceID, ptr, size );
+ }
+ else
+ {
+ TUint8 data[ KOstMaxDataLength ];
+ TUint8* ptr = data;
+ if (size > KOstMaxDataLength)
+ {
+ size = KOstMaxDataLength;
+ }
+ TInt sizeAligned = ( size + 3 ) & ~3;
+ memcpy( ptr, aParam1.Ptr(), size );
+ ptr += size;
+ // Fillers are written to get 32-bit alignment
+ while ( size++ < sizeAligned )
+ {
+ *ptr++ = 0;
+ }
+ ptr -= sizeAligned;
+ size = sizeAligned;
+ // Data is written directly and length is determined from trace message length
+ retval = OstSendNBytes( EXTRACT_GROUP_ID(aTraceID), EOstTrace, KOstTraceComponentID, aTraceID, ptr, size );
+ }
+ return retval;
+ }
+
+
+inline TBool OstTraceGen2( TUint32 aTraceID, TUint aParam1, TUint aParam2 )
+ {
+ TBool retval = BTraceFiltered8( EXTRACT_GROUP_ID(aTraceID), EOstTraceActivationQuery, KOstTraceComponentID, aTraceID );
+ if ( retval )
+ {
+ TUint8 data[ 8 ];
+ TUint8* ptr = data;
+ *( ( TUint* )ptr ) = aParam1;
+ ptr += sizeof ( TUint );
+ *( ( TUint* )ptr ) = aParam2;
+ ptr += sizeof ( TUint );
+ ptr -= 8;
+ retval = OstSendNBytes( EXTRACT_GROUP_ID(aTraceID), EOstTrace, KOstTraceComponentID, aTraceID, ptr, 8 );
+ }
+ return retval;
+ }
+
+inline TBool OstTraceGen2( TUint32 aTraceID, TUint32 aParam1, TUint32 aParam2 )
+ {
+ TBool retval = BTraceFiltered8( EXTRACT_GROUP_ID(aTraceID), EOstTraceActivationQuery, KOstTraceComponentID, aTraceID );
+ if ( retval )
+ {
+ TUint8 data[ 8 ];
+ TUint8* ptr = data;
+ *( ( TUint* )ptr ) = aParam1;
+ ptr += sizeof ( TUint );
+ *( ( TUint* )ptr ) = aParam2;
+ ptr += sizeof ( TUint );
+ ptr -= 8;
+ retval = OstSendNBytes( EXTRACT_GROUP_ID(aTraceID), EOstTrace, KOstTraceComponentID, aTraceID, ptr, 8 );
+ }
+ return retval;
+ }
+
+
+inline TBool OstTraceGen3( TUint32 aTraceID, TUint aParam1, TUint aParam2, TUint aParam3 )
+ {
+ TBool retval = BTraceFiltered8( EXTRACT_GROUP_ID(aTraceID), EOstTraceActivationQuery, KOstTraceComponentID, aTraceID );
+ if ( retval )
+ {
+ TUint8 data[ 12 ];
+ TUint8* ptr = data;
+ *( ( TUint* )ptr ) = aParam1;
+ ptr += sizeof ( TUint );
+ *( ( TUint* )ptr ) = aParam2;
+ ptr += sizeof ( TUint );
+ *( ( TUint* )ptr ) = aParam3;
+ ptr += sizeof ( TUint );
+ ptr -= 12;
+ retval = OstSendNBytes( EXTRACT_GROUP_ID(aTraceID), EOstTrace, KOstTraceComponentID, aTraceID, ptr, 12 );
+ }
+ return retval;
+ }
+
+inline TBool OstTraceGen3( TUint32 aTraceID, TUint32 aParam1, TUint32 aParam2, TUint32 aParam3 )
+ {
+ TBool retval = BTraceFiltered8( EXTRACT_GROUP_ID(aTraceID), EOstTraceActivationQuery, KOstTraceComponentID, aTraceID );
+ if ( retval )
+ {
+ TUint8 data[ 12 ];
+ TUint8* ptr = data;
+ *( ( TUint* )ptr ) = aParam1;
+ ptr += sizeof ( TUint );
+ *( ( TUint* )ptr ) = aParam2;
+ ptr += sizeof ( TUint );
+ *( ( TUint* )ptr ) = aParam3;
+ ptr += sizeof ( TUint );
+ ptr -= 12;
+ retval = OstSendNBytes( EXTRACT_GROUP_ID(aTraceID), EOstTrace, KOstTraceComponentID, aTraceID, ptr, 12 );
+ }
+ return retval;
+ }
+
+
+inline TBool OstTraceGen4( TUint32 aTraceID, TUint aParam1, TUint aParam2, TUint aParam3, TUint aParam4 )
+ {
+ TBool retval = BTraceFiltered8( EXTRACT_GROUP_ID(aTraceID), EOstTraceActivationQuery, KOstTraceComponentID, aTraceID );
+ if ( retval )
+ {
+ TUint8 data[ 16 ];
+ TUint8* ptr = data;
+ *( ( TUint* )ptr ) = aParam1;
+ ptr += sizeof ( TUint );
+ *( ( TUint* )ptr ) = aParam2;
+ ptr += sizeof ( TUint );
+ *( ( TUint* )ptr ) = aParam3;
+ ptr += sizeof ( TUint );
+ *( ( TUint* )ptr ) = aParam4;
+ ptr += sizeof ( TUint );
+ ptr -= 16;
+ retval = OstSendNBytes( EXTRACT_GROUP_ID(aTraceID), EOstTrace, KOstTraceComponentID, aTraceID, ptr, 16 );
+ }
+ return retval;
+ }
+
+inline TBool OstTraceGen4( TUint32 aTraceID, TUint32 aParam1, TUint32 aParam2, TUint32 aParam3, TUint32 aParam4 )
+ {
+ TBool retval = BTraceFiltered8( EXTRACT_GROUP_ID(aTraceID), EOstTraceActivationQuery, KOstTraceComponentID, aTraceID );
+ if ( retval )
+ {
+ TUint8 data[ 16 ];
+ TUint8* ptr = data;
+ *( ( TUint* )ptr ) = aParam1;
+ ptr += sizeof ( TUint );
+ *( ( TUint* )ptr ) = aParam2;
+ ptr += sizeof ( TUint );
+ *( ( TUint* )ptr ) = aParam3;
+ ptr += sizeof ( TUint );
+ *( ( TUint* )ptr ) = aParam4;
+ ptr += sizeof ( TUint );
+ ptr -= 16;
+ retval = OstSendNBytes( EXTRACT_GROUP_ID(aTraceID), EOstTrace, KOstTraceComponentID, aTraceID, ptr, 16 );
+ }
+ return retval;
+ }
+
+
+inline TBool OstTraceGen5( TUint32 aTraceID, TUint aParam1, TUint aParam2, TUint aParam3, TUint aParam4, TUint aParam5 )
+ {
+ TBool retval = BTraceFiltered8( EXTRACT_GROUP_ID(aTraceID), EOstTraceActivationQuery, KOstTraceComponentID, aTraceID );
+ if ( retval )
+ {
+ TUint8 data[ 20 ];
+ TUint8* ptr = data;
+ *( ( TUint* )ptr ) = aParam1;
+ ptr += sizeof ( TUint );
+ *( ( TUint* )ptr ) = aParam2;
+ ptr += sizeof ( TUint );
+ *( ( TUint* )ptr ) = aParam3;
+ ptr += sizeof ( TUint );
+ *( ( TUint* )ptr ) = aParam4;
+ ptr += sizeof ( TUint );
+ *( ( TUint* )ptr ) = aParam5;
+ ptr += sizeof ( TUint );
+ ptr -= 20;
+ retval = OstSendNBytes( EXTRACT_GROUP_ID(aTraceID), EOstTrace, KOstTraceComponentID, aTraceID, ptr, 20 );
+ }
+ return retval;
+ }
+
+inline TBool OstTraceGen5( TUint32 aTraceID, TUint32 aParam1, TUint32 aParam2, TUint32 aParam3, TUint32 aParam4, TUint32 aParam5 )
+ {
+ TBool retval = BTraceFiltered8( EXTRACT_GROUP_ID(aTraceID), EOstTraceActivationQuery, KOstTraceComponentID, aTraceID );
+ if ( retval )
+ {
+ TUint8 data[ 20 ];
+ TUint8* ptr = data;
+ *( ( TUint* )ptr ) = aParam1;
+ ptr += sizeof ( TUint );
+ *( ( TUint* )ptr ) = aParam2;
+ ptr += sizeof ( TUint );
+ *( ( TUint* )ptr ) = aParam3;
+ ptr += sizeof ( TUint );
+ *( ( TUint* )ptr ) = aParam4;
+ ptr += sizeof ( TUint );
+ *( ( TUint* )ptr ) = aParam5;
+ ptr += sizeof ( TUint );
+ ptr -= 20;
+ retval = OstSendNBytes( EXTRACT_GROUP_ID(aTraceID), EOstTrace, KOstTraceComponentID, aTraceID, ptr, 20 );
+ }
+ return retval;
+ }
+
+
+inline TBool OstTraceGen1( TUint32 aTraceID, TInt8 aParam1 )
+ {
+ TBool retval = BTraceFiltered8( EXTRACT_GROUP_ID(aTraceID), EOstTraceActivationQuery, KOstTraceComponentID, aTraceID );
+ if ( retval )
+ {
+ TUint8 data[ 4 ];
+ TUint8* ptr = data;
+ *( ( TInt8* )ptr ) = aParam1;
+ ptr += sizeof ( TInt8 );
+ *( ( TUint8* )ptr ) = 0;
+ ptr += sizeof ( TUint8 );
+ *( ( TUint8* )ptr ) = 0;
+ ptr += sizeof ( TUint8 );
+ *( ( TUint8* )ptr ) = 0;
+ ptr += sizeof ( TUint8 );
+ ptr -= 4;
+ retval = BTraceFilteredContext12( EXTRACT_GROUP_ID(aTraceID), EOstTrace, KOstTraceComponentID, aTraceID, *( ( TUint32* )ptr ) );
+ }
+ return retval;
+ }
+
+
+inline TBool OstTraceGenExt( TUint32 aTraceID, TUint aParam1, TUint aParam2, TUint aParam3 )
+ {
+ TBool retval = BTraceFiltered8( EXTRACT_GROUP_ID(aTraceID), EOstTraceActivationQuery, KOstTraceComponentID, aTraceID );
+ if ( retval )
+ {
+ TUint8 data[ 12 ];
+ TUint8* ptr = data;
+ *( ( TUint* )ptr ) = aParam1;
+ ptr += sizeof ( TUint );
+ *( ( TUint* )ptr ) = aParam2;
+ ptr += sizeof ( TUint );
+ *( ( TUint* )ptr ) = aParam3;
+ ptr += sizeof ( TUint );
+ ptr -= 12;
+ retval = OstSendNBytes( EXTRACT_GROUP_ID(aTraceID), EOstTrace, KOstTraceComponentID, aTraceID, ptr, 12 );
+ }
+ return retval;
+ }
+
+inline TBool OstTraceGenExt( TUint32 aTraceID, TUint32 aParam1, TUint32 aParam2, TUint32 aParam3 )
+ {
+ TBool retval = BTraceFiltered8( EXTRACT_GROUP_ID(aTraceID), EOstTraceActivationQuery, KOstTraceComponentID, aTraceID );
+ if ( retval )
+ {
+ TUint8 data[ 12 ];
+ TUint8* ptr = data;
+ *( ( TUint* )ptr ) = aParam1;
+ ptr += sizeof ( TUint );
+ *( ( TUint* )ptr ) = aParam2;
+ ptr += sizeof ( TUint );
+ *( ( TUint* )ptr ) = aParam3;
+ ptr += sizeof ( TUint );
+ ptr -= 12;
+ retval = OstSendNBytes( EXTRACT_GROUP_ID(aTraceID), EOstTrace, KOstTraceComponentID, aTraceID, ptr, 12 );
+ }
+ return retval;
+ }
+
+
+inline TBool OstTraceGen2( TUint32 aTraceID, TUint aParam1, TInt aParam2 )
+ {
+ TBool retval = BTraceFiltered8( EXTRACT_GROUP_ID(aTraceID), EOstTraceActivationQuery, KOstTraceComponentID, aTraceID );
+ if ( retval )
+ {
+ TUint8 data[ 8 ];
+ TUint8* ptr = data;
+ *( ( TUint* )ptr ) = aParam1;
+ ptr += sizeof ( TUint );
+ *( ( TInt* )ptr ) = aParam2;
+ ptr += sizeof ( TInt );
+ ptr -= 8;
+ retval = OstSendNBytes( EXTRACT_GROUP_ID(aTraceID), EOstTrace, KOstTraceComponentID, aTraceID, ptr, 8 );
+ }
+ return retval;
+ }
+
+inline TBool OstTraceGen2( TUint32 aTraceID, TUint32 aParam1, TInt32 aParam2 )
+ {
+ TBool retval = BTraceFiltered8( EXTRACT_GROUP_ID(aTraceID), EOstTraceActivationQuery, KOstTraceComponentID, aTraceID );
+ if ( retval )
+ {
+ TUint8 data[ 8 ];
+ TUint8* ptr = data;
+ *( ( TUint* )ptr ) = aParam1;
+ ptr += sizeof ( TUint );
+ *( ( TInt* )ptr ) = aParam2;
+ ptr += sizeof ( TInt );
+ ptr -= 8;
+ retval = OstSendNBytes( EXTRACT_GROUP_ID(aTraceID), EOstTrace, KOstTraceComponentID, aTraceID, ptr, 8 );
+ }
+ return retval;
+ }
+
+
+inline TBool OstTraceGen2( TUint32 aTraceID, TInt aParam1, TUint aParam2 )
+ {
+ TBool retval = BTraceFiltered8( EXTRACT_GROUP_ID(aTraceID), EOstTraceActivationQuery, KOstTraceComponentID, aTraceID );
+ if ( retval )
+ {
+ TUint8 data[ 8 ];
+ TUint8* ptr = data;
+ *( ( TInt* )ptr ) = aParam1;
+ ptr += sizeof ( TInt );
+ *( ( TUint* )ptr ) = aParam2;
+ ptr += sizeof ( TUint );
+ ptr -= 8;
+ retval = OstSendNBytes( EXTRACT_GROUP_ID(aTraceID), EOstTrace, KOstTraceComponentID, aTraceID, ptr, 8 );
+ }
+ return retval;
+ }
+
+inline TBool OstTraceGen2( TUint32 aTraceID, TInt32 aParam1, TUint32 aParam2 )
+ {
+ TBool retval = BTraceFiltered8( EXTRACT_GROUP_ID(aTraceID), EOstTraceActivationQuery, KOstTraceComponentID, aTraceID );
+ if ( retval )
+ {
+ TUint8 data[ 8 ];
+ TUint8* ptr = data;
+ *( ( TInt* )ptr ) = aParam1;
+ ptr += sizeof ( TInt );
+ *( ( TUint* )ptr ) = aParam2;
+ ptr += sizeof ( TUint );
+ ptr -= 8;
+ retval = OstSendNBytes( EXTRACT_GROUP_ID(aTraceID), EOstTrace, KOstTraceComponentID, aTraceID, ptr, 8 );
+ }
+ return retval;
+ }
+
+
+inline TBool OstTraceGen2( TUint32 aTraceID, const TDesC8& aParam1, const TDesC8& aParam2 )
+ {
+ TBool retval = BTraceFiltered8( EXTRACT_GROUP_ID(aTraceID), EOstTraceActivationQuery, KOstTraceComponentID, aTraceID );
+ if ( retval )
+ {
+ TInt length = 0;
+ // Check that parameter lenght is not too long
+ TInt length1 = aParam1.Size();
+ if ((length + length1 + sizeof ( TUint32 )) > KOstMaxDataLength)
+ {
+ length1 = KOstMaxDataLength - (length + sizeof ( TUint32 ));
+ }
+ TInt lengthAligned1 = ( length1 + 3 ) & ~3;
+ if (lengthAligned1 > 0)
+ {
+ length = length + sizeof ( TUint32 ) + lengthAligned1;
+ }
+ // Check that parameter lenght is not too long
+ TInt length2 = aParam2.Size();
+ if ((length + length2 + sizeof ( TUint32 )) > KOstMaxDataLength)
+ {
+ length2 = KOstMaxDataLength - (length + sizeof ( TUint32 ));
+ }
+ TInt lengthAligned2 = ( length2 + 3 ) & ~3;
+ if (lengthAligned2 > 0)
+ {
+ length = length + sizeof ( TUint32 ) + lengthAligned2;
+ }
+ TUint8 data[ KOstMaxDataLength ];
+ TUint8* ptr = data;
+ // Set length to zero and calculate it againg
+ // when adding parameters
+ length = 0;
+ if (length1 > 0)
+ {
+ // Number of elements is written before data
+ // In case of Unicode string, number of elements is half of length
+ *( ( TUint32* )ptr ) = length1 / (aParam1.Size() / aParam1.Length());
+ ptr += sizeof ( TUint32 );
+ memcpy( ptr, aParam1.Ptr(), length1 );
+ ptr += length1;
+ // Fillers are written to get 32-bit alignment
+ while ( length1++ < lengthAligned1 )
+ {
+ *ptr++ = 0;
+ }
+ length += sizeof ( TUint32 ) + lengthAligned1;
+ }
+ else if (length + sizeof ( TUint32 ) <= KOstMaxDataLength)
+ {
+ *( ( TUint32* )ptr ) = 0;
+ ptr += sizeof ( TUint32 );
+ length += sizeof ( TUint32 );
+ }
+ if (length2 > 0)
+ {
+ // Number of elements is written before data
+ // In case of Unicode string, number of elements is half of length
+ *( ( TUint32* )ptr ) = length2 / (aParam2.Size() / aParam2.Length());
+ ptr += sizeof ( TUint32 );
+ memcpy( ptr, aParam2.Ptr(), length2 );
+ ptr += length2;
+ // Fillers are written to get 32-bit alignment
+ while ( length2++ < lengthAligned2 )
+ {
+ *ptr++ = 0;
+ }
+ length += sizeof ( TUint32 ) + lengthAligned2;
+ }
+ else if (length + sizeof ( TUint32 ) <= KOstMaxDataLength)
+ {
+ *( ( TUint32* )ptr ) = 0;
+ ptr += sizeof ( TUint32 );
+ length += sizeof ( TUint32 );
+ }
+ ptr -= length;
+ retval = OstSendNBytes( EXTRACT_GROUP_ID(aTraceID), EOstTrace, KOstTraceComponentID, aTraceID, ptr, length );
+ }
+ return retval;
+ }
+
+
+inline TBool OstTraceGen3( TUint32 aTraceID, const TDesC8& aParam1, const TDesC8& aParam2, TUint aParam3 )
+ {
+ TBool retval = BTraceFiltered8( EXTRACT_GROUP_ID(aTraceID), EOstTraceActivationQuery, KOstTraceComponentID, aTraceID );
+ if ( retval )
+ {
+ TInt length = 0;
+ // Check that parameter lenght is not too long
+ TInt length1 = aParam1.Size();
+ if ((length + length1 + sizeof ( TUint32 )) > KOstMaxDataLength)
+ {
+ length1 = KOstMaxDataLength - (length + sizeof ( TUint32 ));
+ }
+ TInt lengthAligned1 = ( length1 + 3 ) & ~3;
+ if (lengthAligned1 > 0)
+ {
+ length = length + sizeof ( TUint32 ) + lengthAligned1;
+ }
+ // Check that parameter lenght is not too long
+ TInt length2 = aParam2.Size();
+ if ((length + length2 + sizeof ( TUint32 )) > KOstMaxDataLength)
+ {
+ length2 = KOstMaxDataLength - (length + sizeof ( TUint32 ));
+ }
+ TInt lengthAligned2 = ( length2 + 3 ) & ~3;
+ if (lengthAligned2 > 0)
+ {
+ length = length + sizeof ( TUint32 ) + lengthAligned2;
+ }
+ TUint8 data[ KOstMaxDataLength ];
+ TUint8* ptr = data;
+ // Set length to zero and calculate it againg
+ // when adding parameters
+ length = 0;
+ if (length1 > 0)
+ {
+ // Number of elements is written before data
+ // In case of Unicode string, number of elements is half of length
+ *( ( TUint32* )ptr ) = length1 / (aParam1.Size() / aParam1.Length());
+ ptr += sizeof ( TUint32 );
+ memcpy( ptr, aParam1.Ptr(), length1 );
+ ptr += length1;
+ // Fillers are written to get 32-bit alignment
+ while ( length1++ < lengthAligned1 )
+ {
+ *ptr++ = 0;
+ }
+ length += sizeof ( TUint32 ) + lengthAligned1;
+ }
+ else if (length + sizeof ( TUint32 ) <= KOstMaxDataLength)
+ {
+ *( ( TUint32* )ptr ) = 0;
+ ptr += sizeof ( TUint32 );
+ length += sizeof ( TUint32 );
+ }
+ if (length2 > 0)
+ {
+ // Number of elements is written before data
+ // In case of Unicode string, number of elements is half of length
+ *( ( TUint32* )ptr ) = length2 / (aParam2.Size() / aParam2.Length());
+ ptr += sizeof ( TUint32 );
+ memcpy( ptr, aParam2.Ptr(), length2 );
+ ptr += length2;
+ // Fillers are written to get 32-bit alignment
+ while ( length2++ < lengthAligned2 )
+ {
+ *ptr++ = 0;
+ }
+ length += sizeof ( TUint32 ) + lengthAligned2;
+ }
+ else if (length + sizeof ( TUint32 ) <= KOstMaxDataLength)
+ {
+ *( ( TUint32* )ptr ) = 0;
+ ptr += sizeof ( TUint32 );
+ length += sizeof ( TUint32 );
+ }
+ // Check that there are enough space to next parameter
+ if ((length + sizeof ( TUint )) <= KOstMaxDataLength)
+ {
+ *( ( TUint* )ptr ) = aParam3;
+ ptr += sizeof ( TUint );
+ length += sizeof ( TUint );
+ }
+ ptr -= length;
+ retval = OstSendNBytes( EXTRACT_GROUP_ID(aTraceID), EOstTrace, KOstTraceComponentID, aTraceID, ptr, length );
+ }
+ return retval;
+ }
+
+inline TBool OstTraceGen3( TUint32 aTraceID, const TDesC8& aParam1, const TDesC8& aParam2, TUint32 aParam3 )
+ {
+ TBool retval = BTraceFiltered8( EXTRACT_GROUP_ID(aTraceID), EOstTraceActivationQuery, KOstTraceComponentID, aTraceID );
+ if ( retval )
+ {
+ TInt length = 0;
+ // Check that parameter lenght is not too long
+ TInt length1 = aParam1.Size();
+ if ((length + length1 + sizeof ( TUint32 )) > KOstMaxDataLength)
+ {
+ length1 = KOstMaxDataLength - (length + sizeof ( TUint32 ));
+ }
+ TInt lengthAligned1 = ( length1 + 3 ) & ~3;
+ if (lengthAligned1 > 0)
+ {
+ length = length + sizeof ( TUint32 ) + lengthAligned1;
+ }
+ // Check that parameter lenght is not too long
+ TInt length2 = aParam2.Size();
+ if ((length + length2 + sizeof ( TUint32 )) > KOstMaxDataLength)
+ {
+ length2 = KOstMaxDataLength - (length + sizeof ( TUint32 ));
+ }
+ TInt lengthAligned2 = ( length2 + 3 ) & ~3;
+ if (lengthAligned2 > 0)
+ {
+ length = length + sizeof ( TUint32 ) + lengthAligned2;
+ }
+ TUint8 data[ KOstMaxDataLength ];
+ TUint8* ptr = data;
+ // Set length to zero and calculate it againg
+ // when adding parameters
+ length = 0;
+ if (length1 > 0)
+ {
+ // Number of elements is written before data
+ // In case of Unicode string, number of elements is half of length
+ *( ( TUint32* )ptr ) = length1 / (aParam1.Size() / aParam1.Length());
+ ptr += sizeof ( TUint32 );
+ memcpy( ptr, aParam1.Ptr(), length1 );
+ ptr += length1;
+ // Fillers are written to get 32-bit alignment
+ while ( length1++ < lengthAligned1 )
+ {
+ *ptr++ = 0;
+ }
+ length += sizeof ( TUint32 ) + lengthAligned1;
+ }
+ else if (length + sizeof ( TUint32 ) <= KOstMaxDataLength)
+ {
+ *( ( TUint32* )ptr ) = 0;
+ ptr += sizeof ( TUint32 );
+ length += sizeof ( TUint32 );
+ }
+ if (length2 > 0)
+ {
+ // Number of elements is written before data
+ // In case of Unicode string, number of elements is half of length
+ *( ( TUint32* )ptr ) = length2 / (aParam2.Size() / aParam2.Length());
+ ptr += sizeof ( TUint32 );
+ memcpy( ptr, aParam2.Ptr(), length2 );
+ ptr += length2;
+ // Fillers are written to get 32-bit alignment
+ while ( length2++ < lengthAligned2 )
+ {
+ *ptr++ = 0;
+ }
+ length += sizeof ( TUint32 ) + lengthAligned2;
+ }
+ else if (length + sizeof ( TUint32 ) <= KOstMaxDataLength)
+ {
+ *( ( TUint32* )ptr ) = 0;
+ ptr += sizeof ( TUint32 );
+ length += sizeof ( TUint32 );
+ }
+ // Check that there are enough space to next parameter
+ if ((length + sizeof ( TUint )) <= KOstMaxDataLength)
+ {
+ *( ( TUint* )ptr ) = aParam3;
+ ptr += sizeof ( TUint );
+ length += sizeof ( TUint );
+ }
+ ptr -= length;
+ retval = OstSendNBytes( EXTRACT_GROUP_ID(aTraceID), EOstTrace, KOstTraceComponentID, aTraceID, ptr, length );
+ }
+ return retval;
+ }
+
+
+#endif
+
+// End of file
+