libraries/memoryaccess/memoryaccess.h
changeset 7 184a1eb85cf2
parent 0 7f656887cf89
--- a/libraries/memoryaccess/memoryaccess.h	Fri Jul 09 10:11:55 2010 +0100
+++ b/libraries/memoryaccess/memoryaccess.h	Mon Jul 26 17:19:00 2010 +0100
@@ -305,23 +305,26 @@
 	};
 typedef TPckgBuf<TCondVarKernelInfo> TCondVarKernelInfoBuf;	 
 
-class TCodeSegKernelInfo
+class TCodeSegKernelInfoBase
 	{
 public:
 	TUint32 iRunAddress;
 	TInt iSize;
 	TFileName8 iFileName;
 	};
-typedef TPckgBuf<TCodeSegKernelInfo> TCodeSegKernelInfoBuf;	 
 
-class TTomsciCodeSegKernelInfo : public TCodeSegKernelInfo
+// We don't really need a base class, it's just for BC reasons 
+class TCodeSegKernelInfo : public TCodeSegKernelInfoBase
 	{
 public:
 	TUint8* iAddressOfKernelObject;
 	TFullName8 iName;
 	TInt iAccessCount;
 	TInt iDepCount;
+	TBool iXip;
 	};
+typedef TPckgBuf<TCodeSegKernelInfo> TCodeSegKernelInfoBuf;	 
+
 
 class TProp
 	{
@@ -451,6 +454,7 @@
 		EControlPropertyNotify,
 		EControlPropertyNotifyCancel,
 		EControlSubscribeToProperty,
+		EControlAcquireCodeSegMutexAndFilterCodesegsForProcess,
 		ENumRequests,  // Add new commands above this line
         };
 public:
@@ -492,6 +496,7 @@
 	TInt GetObjectInfoByHandle (TObjectType aObjectType, TInt aThreadId, TInt aObjectHandle, TDes8& aObjectInfoBuf);
 	//Wait on the kernel's code seg mutex
 	TInt AcquireCodeSegMutex();
+	TInt AcquireCodeSegMutexAndFilterCodesegsForProcess(TUint aProcessId);
 	//Signal the kernel's code seg mutex
 	TInt ReleaseCodeSegMutex();
 	//Get info about the next code seg.  Call repeatedly to iterate all code segs.  Call AcquireCodeSegMutex before calling.
@@ -683,6 +688,8 @@
 	}
 inline TInt RMemoryAccess::AcquireCodeSegMutex()
 	{	return DoControl(EControlAcquireCodeSegMutex, NULL, NULL);		}
+inline TInt RMemoryAccess::AcquireCodeSegMutexAndFilterCodesegsForProcess(TUint aProcessId)
+	{	return DoControl(EControlAcquireCodeSegMutexAndFilterCodesegsForProcess, (TAny*)aProcessId);	}
 inline TInt RMemoryAccess::ReleaseCodeSegMutex()
 	{	return DoControl(EControlReleaseCodeSegMutex, NULL, NULL);		}
 inline TInt RMemoryAccess::GetNextCodeSegInfo(TDes8& aCodeSegInfoBuf)