diff -r 000000000000 -r a03f92240627 memspy/Driver/Shared/MemSpyDriverObjectsInternal.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/memspy/Driver/Shared/MemSpyDriverObjectsInternal.h Tue Feb 02 01:57:15 2010 +0200 @@ -0,0 +1,298 @@ +/* +* 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 MEMSPYDRIVEROBJECTSINTERNAL_H +#define MEMSPYDRIVEROBJECTSINTERNAL_H + +// System includes +#include + +// User includes +#include +#include +#include "MemSpyDriverEnumerationsInternal.h" + + + + +class TMemSpyDriverInternalHeapRequestParameters + { +public: + inline TMemSpyDriverInternalHeapRequestParameters() + : iTid( 0 ), iRHeapVTable( 0 ), iBuildFreeCellList( EFalse ), iDebugAllocator( EFalse ), + iMasterInfo( NULL ) + { + } + +public: // Params IN + TUint iTid; + TUint32 iRHeapVTable; + TBool iBuildFreeCellList; + +public: // Params IN or OUT (IN in User heap requests, OUT in Kernel heap requests) + TBool iDebugAllocator; + +public: // Params IN and OUT + TMemSpyHeapInfo* iMasterInfo; + }; + + + + + + + + + +/** + * Parameters for User & Kernel heap data fetch + */ +struct TMemSpyDriverInternalHeapDataParams + { + TUint iTid; + TUint iRHeapVTable; + TDes8* iDes; // Not used during kernel heap fetch + TInt iRemaining; // Not used during kernel heap fetch + TUint iReadAddress; + TUint32 iChecksum; + TBool iDebugAllocator; + }; + + + +/** + * + */ +struct TMemSpyDriverInternalStackDataParams + { + TUint iTid; + TDes8* iDes; + TMemSpyDriverDomainType iDomain; + TBool iEntireStack; + TInt iRemaining; + }; + + +/** + * + */ +struct TMemSpyDriverInternalChunkHandleParams + { + TUint iId; + TMemSpyDriverPrivateObjectType iType; + TAny** iHandles; + TInt* iCountPtr; + TInt iMaxCount; + }; + + +/** + * + */ +struct TMemSpyDriverInternalChunkInfoParams + { + TAny* iHandle; + TAny* iBaseAddress; + TInt iSize; + TInt iMaxSize; + TUint iOwnerId; + TBuf8 iName; + TMemSpyDriverChunkType iType; + TInt iAttributes; + }; + + +/** + * + */ +struct TMemSpyDriverInternalCodeSnapshotParams + { + TUint iFilter; + TAny** iHandles; + TInt* iCountPtr; + TInt iMaxCount; + }; + + + +/** + * + */ +struct TMemSpyDriverInternalCodeSegParams + { + TUint iPid; + TAny* iHandle; + TMemSpyDriverCodeSegInfo* iInfoPointer; + }; + + + + +/** + * + */ +struct TMemSpyDriverInternalContainerHandleParams + { + TInt iTidOrPid; + TMemSpyDriverThreadOrProcess iHandleSource; + TMemSpyDriverContainerType iContainer; + TAny** iHandles; + TInt* iCountPtr; + TInt iMaxCount; + }; + + + + +/** + * + */ +struct TMemSpyDriverInternalServerSessionHandleParams + { + TAny* iServerHandle; + TAny** iSessionHandles; + TInt* iSessionCountPtr; + TInt iMaxCount; + }; + + + +/** + * + */ +struct TMemSpyDriverInternalContainerObjectParams + { + TUint iTid; + TAny* iHandle; + TBuf8 iFullName; + }; + + + + + +/** + * + */ +struct TMemSpyDriverInternalReadMemParams + { + TUint iTid; + TLinAddr iAddr; + TDes8* iDes; + }; + + +/** + * + */ +struct TMemSpyDriverInternalThreadInfoParams : public TMemSpyDriverThreadInfoBase + { + // In: + TUint iRHeapVTable; + TBool iDebugAllocator; + + // Out: + TBuf8 iFullName; + + /* + TUint iPid; + TLinAddr iStackBase; + TInt iStackSize; + TMemSpyDriverRegSet iCpu; + TLinAddr iSupervisorStackBase; + TInt iSupervisorStackSize; + CActiveScheduler* iScheduler; + RAllocator* iAllocator; + + TBuf8 iExitCategory; + TInt iExitReason; + TThreadPriority iThreadPriority; + TInt iDefaultPriority; + TExitType iExitType; + TInt iIpcCount; + RAllocator* iCreatedAllocator; + TInt iThreadType; + TInt iLeaveDepth; + TUint32 iFlags; + */ + }; + + +/** + * + */ +struct TMemSpyDriverInternalWalkHeapParamsInit + { + TUint iTid; + TUint iRHeapVTable; + TBool iDebugAllocator; + }; + + +/** + * + */ +struct TMemSpyDriverInternalWalkHeapParamsCell + { + TInt iCellType; + TAny* iCellAddress; + TInt iLength; + TInt iNestingLevel; + TInt iAllocNumber; + }; + + +/** + * + */ +struct TMemSpyDriverInternalWalkHeapCellDataReadParams + { + TAny* iCellAddress; + TInt iReadLen; + TDes8* iDes; + }; + + + + + + +/** + * + */ +struct TMemSpyDriverInternalEventMonitorParams + { + TUint iHandle; + TRequestStatus* iStatus; + TAny* iContext; + }; + + + + +/** + * + */ +struct TMemSpyDriverInternalCondVarSuspendedThreadParams + { + TAny* iCondVarHandle; + TAny** iThrHandles; + TInt* iThrCountPtr; + TInt iMaxCount; + }; + +#endif