diff -r 000000000000 -r 08ec8eefde2f traceservices/tracefw/integ_test/ost/TEF/traces/te_instrumentationpoints_enabledTraces.h --- /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 +