perfsrv/memspy/Driver/Shared/heaputils.h
changeset 54 a151135b0cf9
parent 52 c2f44e33b468
child 62 1c2bb2fc7c87
equal deleted inserted replaced
53:d47c6de21a88 54:a151135b0cf9
   176 #endif
   176 #endif
   177 	};
   177 	};
   178 
   178 
   179 #ifdef __KERNEL_MODE__
   179 #ifdef __KERNEL_MODE__
   180 
   180 
   181 class RUserAllocatorHelper : public RAllocatorHelper
   181 HUCLASS(RUserAllocatorHelper) : public RAllocatorHelper
   182     {
   182     {
   183 public:
   183 public:
   184     RUserAllocatorHelper();
   184     RUserAllocatorHelper();
   185     TInt OpenUserHeap(TUint aThreadId, TLinAddr aAllocatorAddress, TBool aEuserIsUdeb);
   185     TInt OpenUserHeap(TUint aThreadId, TLinAddr aAllocatorAddress, TBool aEuserIsUdeb);
   186     virtual DChunk* OpenUnderlyingChunk(); // Must be in CS
   186     virtual DChunk* OpenUnderlyingChunk(); // Must be in CS
   193     virtual void TryUnlock();
   193     virtual void TryUnlock();
   194 private:
   194 private:
   195     DThread* iThread;
   195     DThread* iThread;
   196     };
   196     };
   197 
   197 
   198 class RKernelCopyAllocatorHelper : public RAllocatorHelper
   198 HUCLASS(RKernelCopyAllocatorHelper) : public RAllocatorHelper
   199     {
   199     {
   200 public:
   200 public:
   201     RKernelCopyAllocatorHelper();
   201     RKernelCopyAllocatorHelper();
   202     TInt OpenCopiedHeap(DChunk* aOriginalChunk, DChunk* aCopiedChunk, TInt aOffset);
   202     TInt OpenCopiedHeap(DChunk* aOriginalChunk, DChunk* aCopiedChunk, TInt aOffset);
   203     virtual DChunk* OpenUnderlyingChunk(); // Must be in CS
   203     virtual DChunk* OpenUnderlyingChunk(); // Must be in CS
   213     TInt iOffset; // from the original kernel heap to the copied heap
   213     TInt iOffset; // from the original kernel heap to the copied heap
   214     };
   214     };
   215 
   215 
   216 #else
   216 #else
   217 
   217 
   218 class RProxyAllocatorHelper : public RAllocatorHelper
   218 HUCLASS(RProxyAllocatorHelper) : public RAllocatorHelper
   219 	{
   219 	{
   220 public:
   220 public:
   221 	HUIMPORT_C RProxyAllocatorHelper();
   221 	HUIMPORT_C RProxyAllocatorHelper();
   222 	HUIMPORT_C TInt Open(RMemoryAccess& aMem, TUint aThreadId);
   222 	HUIMPORT_C TInt Open(RMemoryAccess& aMem, TUint aThreadId);
   223 	HUIMPORT_C TInt OpenChunkHeap(RMemoryAccess& aMem, TAny* aDChunkPtr);
   223 	HUIMPORT_C TInt OpenChunkHeap(RMemoryAccess& aMem, TAny* aDChunkPtr);