--- a/memspy/Driver/Kernel/Include/MemSpyDriverOSAdaption.h Thu Sep 02 22:05:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,505 +0,0 @@
-/*
-* 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 MEMSPYDRIVEROSADAPTION_H
-#define MEMSPYDRIVEROSADAPTION_H
-
-// System includes
-#include <kernel.h>
-#include <e32const.h>
-
-// User includes
-#include "MemSpyDriverObjectIx.h"
-
-// Classes referenced
-class DMemSpyDriverDevice;
-class DMemSpyPropertyRef;
-class DMemSpyDriverOSAdaption;
-
-
-
-class DMemSpyDriverOSAdaptionDObject : public DBase
- {
-protected:
- DMemSpyDriverOSAdaptionDObject( DMemSpyDriverOSAdaption& aOSAdaption );
-
-public:
- TUint8 GetContainerID( DObject& aObject ) const;
- TObjectType GetObjectType( DObject& aObject ) const;
- DObject* GetOwner( DObject& aObject ) const;
- DObject* GetOwner( DObject& aObject, TUint8 aExpectedContainerId ) const;
- TInt GetAccessCount( DObject& aObject ) const;
- TInt GetUniqueID( DObject& aObject ) const;
- TUint GetProtection( DObject& aObject ) const;
- TUint8* GetAddressOfKernelOwner( DObject& aObject ) const;
-
-protected:
- DMemSpyDriverOSAdaption& OSAdaption() const { return iOSAdaption; }
-
-private: // Data members
- DMemSpyDriverOSAdaption& iOSAdaption;
- };
-
-
-
-
-
-class DMemSpyDriverOSAdaptionDThread : public DMemSpyDriverOSAdaptionDObject
- {
-public:
- DMemSpyDriverOSAdaptionDThread( DMemSpyDriverOSAdaption& aOSAdaption );
-
-public:
- NThread* GetNThread( DThread& aObject ) const;
- TExitType GetExitType( DThread& aObject ) const;
- TUint32 GetSupervisorStackBase( DThread& aObject ) const;
- TInt GetSupervisorStackSize( DThread& aObject ) const;
- RAllocator* GetAllocator( DThread& aObject ) const;
- CActiveScheduler* GetActiveScheduler( DThread& aObject ) const;
- TUint32 GetUserStackBase( DThread& aObject ) const;
- TInt GetUserStackSize( DThread& aObject ) const;
- DProcess* GetOwningProcess( DThread& aObject ) const;
- TUint GetId( DThread& aObject ) const;
- MemSpyObjectIx* GetHandles( DThread& aObject ) const;
- TUint GetOwningProcessId( DThread& aObject ) const;
- TInt GetPriority( DThread& aObject ) const;
- TUint8* GetAddressOfOwningProcess( DThread& aObject ) const;
- void GetNameOfOwningProcess( DThread& aObject, TDes& aName ) const;
- TBool IsHandleIndexValid( DThread& aObject ) const;
-
-private: // Internal methods
- RAllocator* GetAllocatorAndStackAddress( DThread& aObject, TUint32& aStackAddress ) const;
-
-private: // Data members
- TUint32 iOffset_NThread;
- TUint32 iOffset_ExitType;
- TUint32 iOffset_SupervisorStackBase;
- TUint32 iOffset_SupervisorStackSize;
- };
-
-
-
-
-
-
-
-class DMemSpyDriverOSAdaptionDProcess : public DMemSpyDriverOSAdaptionDObject
- {
-public:
- DMemSpyDriverOSAdaptionDProcess( DMemSpyDriverOSAdaption& aOSAdaption );
-
-public:
- TUint GetId( DProcess& aObject ) const;
- MemSpyObjectIx* GetHandles( DProcess& aObject ) const;
- TExitType GetExitType( DProcess& aObject ) const;
- DThread* OpenFirstThread( DProcess& aObject ) const;
- TUint32 GetSID( DProcess& aObject ) const;
- TUint GetSecurityZone( DProcess& aObject ) const;
- SSecurityInfo& GetSecurityInfo( DProcess& aObject ) const;
- TInt GetFlags( DProcess& aObject ) const;
- TInt GetGeneration( DProcess& aObject ) const;
- SDblQue& GetThreadQueue( DProcess& aObject ) const;
- DThread* GetThread( SDblQueLink* aLink ) const;
- void SetSID( DProcess& aObject, TUint32 aSID ) const;
- void SetSecurityZone( DProcess& aObject, TUint aSecurityZone ) const;
- TUint GetCreatorId( DProcess& aObject ) const;
- TInt GetAttributes( DProcess& aObject ) const;
- TInt GetPriority( DProcess& aObject ) const;
- TUint8* GetAddressOfOwningProcess( DProcess& aObject ) const;
- TUint8* GetAddressOfDataBssStackChunk( DProcess& aObject ) const;
- TBool IsHandleIndexValid( DProcess& aObject ) const;
- TBool IsKernProcess(DProcess& aProcess) const;
-
-private: // Data members
- };
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-class DMemSpyDriverOSAdaptionDChunk : public DMemSpyDriverOSAdaptionDObject
- {
-public:
- DMemSpyDriverOSAdaptionDChunk( DMemSpyDriverOSAdaption& aOSAdaption );
-
-public:
- TInt GetSize( DChunk& aObject ) const;
- TInt GetMaxSize( DChunk& aObject ) const;
- TUint8* GetBase( DChunk& aObject ) const;
- DProcess* GetOwningProcess( DChunk& aObject ) const;
- TUint GetOwningProcessId( DChunk& aObject ) const;
- TUint GetControllingOwnerId( DChunk& aObject ) const;
- TChunkType GetType( DChunk& aObject ) const;
- TInt GetAttributes( DChunk& aObject ) const;
- TUint8* GetAddressOfOwningProcess( DChunk& aObject ) const;
- TInt GetBottom( DChunk& aObject ) const;
- TInt GetTop( DChunk& aObject ) const;
- TInt GetStartPos( DChunk& aObject ) const;
- TUint GetRestrictions( DChunk& aObject ) const;
- TUint GetMapAttr( DChunk& aObject ) const;
- void GetNameOfOwningProcess( DChunk& aObject, TDes& aName ) const;
-
-private: // Data members
- };
-
-
-
-
-
-
-
-
-class DMemSpyDriverOSAdaptionDServer : public DMemSpyDriverOSAdaptionDObject
- {
-public:
- DMemSpyDriverOSAdaptionDServer( DMemSpyDriverOSAdaption& aOSAdaption );
-
-public:
- SDblQue& GetSessionQueue( DServer& aObject ) const;
- DSession* GetSession( SDblQueLink* aLink ) const;
- TInt GetSessionCount( DServer& aObject ) const;
- DThread* GetOwningThread( DServer& aObject ) const;
- TUint GetOwningThreadId( DServer& aObject ) const;
- TIpcSessionType GetSessionType( DServer& aObject ) const;
- TUint8* GetAddressOfOwningThread( DServer& aObject ) const;
- void GetNameOfOwningThread( DServer& aObject, TDes& aName ) const;
-
-private: // Data members
- };
-
-
-
-
-
-
-
-class DMemSpyDriverOSAdaptionDSession : public DMemSpyDriverOSAdaptionDObject
- {
-public:
- DMemSpyDriverOSAdaptionDSession( DMemSpyDriverOSAdaption& aOSAdaption );
-
-public:
- TIpcSessionType GetSessionType( DSession& aObject ) const;
- DServer* GetServer( DSession& aObject ) const;
- TUint8* GetAddressOfServer( DSession& aObject ) const;
- TUint16 GetTotalAccessCount( DSession& aObject ) const;
- TUint8 GetSrvSessionType( DSession& aObject ) const;
- TInt GetMsgCount( DSession& aObject ) const;
- TInt GetMsgLimit( DSession& aObject ) const;
-
-private: // Data members
- };
-
-
-
-
-
-
-
-
-
-class DMemSpyDriverOSAdaptionDCodeSeg : public DMemSpyDriverOSAdaptionDObject
- {
-public:
- DMemSpyDriverOSAdaptionDCodeSeg( DMemSpyDriverOSAdaption& aOSAdaption );
-
-public:
- DCodeSeg* GetCodeSeg( SDblQueLink* aLink ) const;
- DCodeSeg* GetCodeSeg( DLibrary& aLibrary ) const;
- DCodeSeg* GetCodeSegFromHandle( TAny* aHandle ) const;
- TBool GetIsXIP( DCodeSeg& aCodeSeg ) const;
- TInt GetCodeSegQueue( DProcess& aObject, SDblQue& aQueue ) const;
- void EmptyCodeSegQueue( SDblQue& aQueue ) const;
- TUint32 GetSize( DCodeSeg& aCodeSeg ) const;
- void GetCreateInfo( DCodeSeg& aCodeSeg, TCodeSegCreateInfo& aInfo ) const;
- TUint8 GetState( DLibrary& aLibrary ) const;
- TInt GetMapCount( DLibrary& aLibrary ) const;
-
-private: // Data members
- };
-
-
-
-
-
-class DMemSpyDriverOSAdaptionDSemaphore : public DMemSpyDriverOSAdaptionDObject
- {
-public:
- DMemSpyDriverOSAdaptionDSemaphore( DMemSpyDriverOSAdaption& aOSAdaption );
-
-public:
- TInt GetCount( DSemaphore& aObject ) const;
- TUint8 GetResetting( DSemaphore& aObject ) const;
-
-private: // Data members
- };
-
-
-
-
-
-
-
-
-
-class DMemSpyDriverOSAdaptionDMutex : public DMemSpyDriverOSAdaptionDObject
- {
-public:
- DMemSpyDriverOSAdaptionDMutex( DMemSpyDriverOSAdaption& aOSAdaption );
-
-public:
- TInt GetHoldCount( DMutex& aObject ) const;
- TInt GetWaitCount( DMutex& aObject ) const;
- TUint8 GetResetting( DMutex& aObject ) const;
- TUint8 GetOrder( DMutex& aObject ) const;
-
-private: // Data members
- };
-
-
-
-
-
-
-
-
-class DMemSpyDriverOSAdaptionDLogicalDevice : public DMemSpyDriverOSAdaptionDObject
- {
-public:
- DMemSpyDriverOSAdaptionDLogicalDevice( DMemSpyDriverOSAdaption& aOSAdaption );
-
-public:
- TInt GetOpenChannels( DLogicalDevice& aObject ) const;
- TVersion GetVersion( DLogicalDevice& aObject ) const;
- TUint GetParseMask( DLogicalDevice& aObject ) const;
- TUint GetUnitsMask( DLogicalDevice& aObject ) const;
-
-private: // Data members
- };
-
-
-
-
-
-
-
-
-
-class DMemSpyDriverOSAdaptionDPhysicalDevice : public DMemSpyDriverOSAdaptionDObject
- {
-public:
- DMemSpyDriverOSAdaptionDPhysicalDevice( DMemSpyDriverOSAdaption& aOSAdaption );
-
-public:
- TVersion GetVersion( DPhysicalDevice& aObject ) const;
- TUint GetUnitsMask( DPhysicalDevice& aObject ) const;
- TUint8* GetAddressOfCodeSeg( DPhysicalDevice& aObject ) const;
-
-private: // Data members
- };
-
-
-
-
-
-
-
-
-
-
-
-class DMemSpyDriverOSAdaptionDChangeNotifier : public DMemSpyDriverOSAdaptionDObject
- {
-public:
- DMemSpyDriverOSAdaptionDChangeNotifier( DMemSpyDriverOSAdaption& aOSAdaption );
-
-public:
- TUint GetChanges( DChangeNotifier& aObject ) const;
- TUint8* GetAddressOfOwningThread( DChangeNotifier& aObject ) const;
- void GetNameOfOwningThread( DChangeNotifier& aObject, TDes& aName ) const;
-
-private: // Data members
- };
-
-
-
-
-
-
-
-
-
-
-
-class DMemSpyDriverOSAdaptionDUndertaker : public DMemSpyDriverOSAdaptionDObject
- {
-public:
- DMemSpyDriverOSAdaptionDUndertaker( DMemSpyDriverOSAdaption& aOSAdaption );
-
-public:
- TUint8* GetAddressOfOwningThread( DUndertaker& aObject ) const;
- void GetNameOfOwningThread( DUndertaker& aObject, TDes& aName ) const;
-
-private: // Data members
- };
-
-
-
-
-
-
-
-
-
-
-
-
-class DMemSpyDriverOSAdaptionDCondVar : public DMemSpyDriverOSAdaptionDObject
- {
-public:
- DMemSpyDriverOSAdaptionDCondVar( DMemSpyDriverOSAdaption& aOSAdaption );
-
-public:
- TUint8 GetResetting( DCondVar& aObject ) const;
- TUint8* GetAddressOfMutex( DCondVar& aObject ) const;
- void GetNameOfMutex( DCondVar& aObject, TDes& aName ) const;
- TInt GetWaitCount( DCondVar& aObject ) const;
- SDblQue& GetSuspendedQ( DCondVar& aObject ) const;
- DThread* GetThread( SDblQueLink* aLink ) const;
-
-private: // Data members
- };
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-class DMemSpyDriverOSAdaptionDTimer : public DMemSpyDriverOSAdaptionDObject
- {
-public:
- DMemSpyDriverOSAdaptionDTimer( DMemSpyDriverOSAdaption& aOSAdaption );
-
-public:
- TTimer::TTimerType GetType( DTimer& aObject ) const;
- TTimer::TTimerState GetState( DTimer& aObject ) const;
-
-private: // Data members
- };
-
-
-
-
-
-class DMemSpyDriverOSAdaptionDPropertyRef : public DMemSpyDriverOSAdaptionDObject
- {
-public:
- DMemSpyDriverOSAdaptionDPropertyRef( DMemSpyDriverOSAdaption& aOSAdaption );
-
-public:
- TBool GetIsReady( DObject& aObject ) const;
- RProperty::TType GetType( DObject& aObject ) const;
- TUint GetCategory( DObject& aObject ) const;
- TUint GetKey( DObject& aObject ) const;
- TInt GetRefCount( DObject& aObject ) const;
- TUint GetThreadId( DObject& aObject ) const;
- TUint32 GetCreatorSID( DObject& aObject ) const;
-
-private: // Internal methods
- DMemSpyPropertyRef* GetPropertyRef( DObject& aObject ) const;
-
-private: // Data members
- };
-
-
-
-
-
-
-class DMemSpyDriverOSAdaption : public DBase
- {
-public:
- DMemSpyDriverOSAdaption( DMemSpyDriverDevice& aDevice );
- ~DMemSpyDriverOSAdaption();
- TInt Construct();
-
-public: // API
- inline DMemSpyDriverDevice& Device() { return iDevice; }
- inline DMemSpyDriverOSAdaptionDProcess& DProcess() { return *iDProcess; }
- inline DMemSpyDriverOSAdaptionDThread& DThread() { return *iDThread; }
- inline DMemSpyDriverOSAdaptionDChunk& DChunk() { return *iDChunk; }
- inline DMemSpyDriverOSAdaptionDServer& DServer() { return *iDServer; }
- inline DMemSpyDriverOSAdaptionDSession& DSession() { return *iDSession; }
- inline DMemSpyDriverOSAdaptionDCodeSeg& DCodeSeg() { return *iDCodeSeg; }
- inline DMemSpyDriverOSAdaptionDSemaphore& DSemaphore() { return *iDSemaphore; }
- inline DMemSpyDriverOSAdaptionDMutex& DMutex() { return *iDMutex; }
- inline DMemSpyDriverOSAdaptionDLogicalDevice& DLogicalDevice() { return *iDLogicalDevice; }
- inline DMemSpyDriverOSAdaptionDPhysicalDevice& DPhysicalDevice() { return *iDPhysicalDevice; }
- inline DMemSpyDriverOSAdaptionDChangeNotifier& DChangeNotifier() { return *iDChangeNotifier; }
- inline DMemSpyDriverOSAdaptionDUndertaker& DUndertaker() { return *iDUndertaker; }
- inline DMemSpyDriverOSAdaptionDCondVar& DCondVar() { return *iDCondVar; }
- inline DMemSpyDriverOSAdaptionDTimer& DTimer() { return *iDTimer; }
- inline DMemSpyDriverOSAdaptionDPropertyRef& DPropertyRef() { return *iDPropertyRef; }
-
-private: // Data members
- DMemSpyDriverDevice& iDevice;
- DMemSpyDriverOSAdaptionDThread* iDThread;
- DMemSpyDriverOSAdaptionDProcess* iDProcess;
- DMemSpyDriverOSAdaptionDChunk* iDChunk;
- DMemSpyDriverOSAdaptionDServer* iDServer;
- DMemSpyDriverOSAdaptionDSession* iDSession;
- DMemSpyDriverOSAdaptionDCodeSeg* iDCodeSeg;
- DMemSpyDriverOSAdaptionDSemaphore* iDSemaphore;
- DMemSpyDriverOSAdaptionDMutex* iDMutex;
- DMemSpyDriverOSAdaptionDLogicalDevice* iDLogicalDevice;
- DMemSpyDriverOSAdaptionDPhysicalDevice* iDPhysicalDevice;
- DMemSpyDriverOSAdaptionDChangeNotifier* iDChangeNotifier;
- DMemSpyDriverOSAdaptionDUndertaker* iDUndertaker;
- DMemSpyDriverOSAdaptionDCondVar* iDCondVar;
- DMemSpyDriverOSAdaptionDTimer* iDTimer;
- DMemSpyDriverOSAdaptionDPropertyRef* iDPropertyRef;
- };
-
-
-// KNOWN OMISSIONS:
-//
-// + kernel container listing & query interface
-// + event handler (events: process, threads, code segs, chunks, ... )
-// + kernel heap information
-// + end thread / process
-
-
-#endif