traceservices/tracefw/integ_test/ost/TEF/traces/te_instrumentationpoints_enabledTraces.h
changeset 0 08ec8eefde2f
child 23 26645d81f48d
--- /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
+