diff -r 0ff24a8f6ca2 -r 98307c651589 perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverHeapStatistics.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/perfsrv/memspy/Driver/Kernel/Include/MemSpyDriverHeapStatistics.h Mon Sep 06 15:00:47 2010 +0300 @@ -0,0 +1,108 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#ifndef MEMSPYDRIVERHEAPSTATISTICS_H +#define MEMSPYDRIVERHEAPSTATISTICS_H + +// System includes +#include + + +class TMemSpyHeapWalkStatistics + { +public: + + // Total number of cells enumerated + TInt iNumberOfWalkedCells; + + // The type of the last cell + TMemSpyDriverCellType iLastCellType; + + // The address of the last cell + TLinAddr iLastCellAddress; + +public: // Free cell related + + // The address of the first free heap cell + TLinAddr iFirstFreeCellAddress; + + // The length of the first free heap cell + TUint iFirstFreeCellLength; + + // Whether the last cell in the entire heap was a free cell + // (i.e. slack space) + TBool iLastCellWasFreeCell; + + // The length of the last free cell in the heap + TUint iLastFreeCellLength; + + // The total amount of free space in the heap + TUint iTotalFreeSpace; + + // The number of free heap cells + TUint iFreeCellCount; + + // The size of the largest free cell + TUint iLargestCellSizeFree; + + // The previous largest free cell size + TUint iLargestCellSizeFreePrevious; + + // The address of the largest free cell + TLinAddr iLargestCellAddressFree; + + // The previous address of the largest free cell + TUint iLargestCellAddressFreePrevious; + + // The overhead associated with a free cell (header length) + //TUint iFreeCellOverheadHeaderLength; + TUint iReserved1; + + // The slace space at the end of the heap + TUint iSlackSpace; + + // The address of the slack space cell + TLinAddr iSpackSpaceCellAddress; + + // A very simple XOR checksum of all the free cell addresses that were + // detected during the heap navigation + TUint32 iFreeCellCRC; + +public: // Alloc cell related + + // The number of allocated heap cells + TUint iAllocCellCount; + + // The size of the largest allocated cell + TUint iLargestCellSizeAlloc; + + // The address of the largest allocated cell + TLinAddr iLargestCellAddressAlloc; + + // The overhead associated with an allocated cell (header length) + //TUint iAllocCellOverheadHeaderLength; + TUint iReserved2; + +public: // Common + + // The total amount of allocated space in the heap + TUint iTotalAllocSpace; + }; + + + +#endif