sl@0: // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of the License "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // Header file for Kernel Performance Logger test sl@0: // sl@0: // sl@0: sl@0: /** sl@0: @file sl@0: */ sl@0: sl@0: #ifndef T_PERFLOGGER_H__ sl@0: #define T_PERFLOGGER_H__ sl@0: sl@0: #include sl@0: sl@0: //------------------------------------------------------------------------------------- sl@0: sl@0: /** Unrolled trace record layout for simplier access to the record fields */ sl@0: struct TTraceLayout sl@0: { sl@0: TInt iSize; sl@0: TUint iFlags; sl@0: TUint iCategory; sl@0: TUint iSubCategory; sl@0: sl@0: TUint32 iHeader2; sl@0: TUint32 iTimestamp; sl@0: TUint32 iTimestamp2; sl@0: TUint32 iContext; sl@0: TUint32 iPC; sl@0: TUint32 iExtra; sl@0: sl@0: TInt iDataWords; ///< number of 32 bit words in the trace record "data" section. 0 means that tere is no data. sl@0: const TUint32* ipData; ///< pointer to the data. sl@0: sl@0: TTraceLayout() sl@0: { sl@0: iSize=0; iFlags=0; iCategory=0; iSubCategory=0; iHeader2 =0; sl@0: iTimestamp=0; iTimestamp2=0; iContext=0; iPC=0; iExtra=0; iDataWords=0; sl@0: ipData=NULL; sl@0: } sl@0: sl@0: }; sl@0: sl@0: sl@0: //------------------------------------------------------------------------------------- sl@0: sl@0: void Initialise(); sl@0: void Finalise(); sl@0: TUint ParseTraceRecord(const TUint8* apRecord, TTraceLayout& aTraceLayout); sl@0: void PrintTraceRecord(const TTraceLayout& aTraceLayout); sl@0: TUint URnd(TUint aMin, TUint aMax); sl@0: TUint URnd(TUint aMax); sl@0: sl@0: sl@0: #endif //T_PERFLOGGER_H__