kerneltest/e32test/dmav2/d_dma2.h
changeset 199 189ece41fa29
parent 130 c30940f6d922
child 243 c7a0ce20c48c
--- a/kerneltest/e32test/dmav2/d_dma2.h	Thu Jul 01 17:57:33 2010 +0100
+++ b/kerneltest/e32test/dmav2/d_dma2.h	Fri Jul 09 13:13:20 2010 +0100
@@ -62,7 +62,13 @@
 	}
 #endif
 
-_LIT(KTestDmaLddName, "TestDmaV2");
+_LIT(KTestDmaLddNameSim, "TestDmaV2Sim");
+_LIT(KTestDmaLddNameHw, "TestDmaV2");
+#ifdef __DMASIM__
+const TPtrC KTestDmaLddName = KTestDmaLddNameSim();
+#else
+const TPtrC KTestDmaLddName = KTestDmaLddNameHw();
+#endif
 
 inline TVersion TestDmaLddVersion() { return TVersion(1, 0, 1); }
 
@@ -444,6 +450,16 @@
 		return DoControl(EResumeChannel, reinterpret_cast<TAny*>(aDriverCookie));
 		}
 
+	TInt ChannelLinking(TUint aDriverCookie)
+		{	
+		return DoControl(ELinkChannel, reinterpret_cast<TAny*>(aDriverCookie));
+		}
+
+	TInt ChannelUnLinking(TUint aDriverCookie)
+		{	
+		return DoControl(EUnlinkChannel, reinterpret_cast<TAny*>(aDriverCookie));
+		}
+
 	TInt ChannelCaps(TUint aDriverCookie, SDmacCaps& aChannelCaps)
 		{
 		TDmacTestCaps caps;
@@ -460,9 +476,16 @@
 	
 	TInt Open()
 		{
-		return DoCreate(KTestDmaLddName,TestDmaLddVersion(), 0, NULL, NULL, EOwnerThread);
+		TInt r = KErrNone;
+		r = DoCreate(KTestDmaLddNameHw,TestDmaLddVersion(), 0, NULL, NULL, EOwnerThread);
+		RDebug::Printf("RDmaSession::Open returned %d", r);
+		return r;
 		}
 
+	TInt OpenSim()
+		{
+		return DoCreate(KTestDmaLddNameSim,TestDmaLddVersion(), 0, NULL, NULL, EOwnerThread);
+		}
 
 	TInt RequestCreateOld(TUint aChannelCookie, TUint& aRequestCookie, TUint aMaxTransferSize=0)
 		{	
@@ -571,15 +594,15 @@
 		TUint chunkHandle = DoControl(EOpenSharedChunk);
 		return aChunk.SetReturnedHandle(chunkHandle);
 		}
-	
+
 	TInt GetTestInfo(TDmaV2TestInfo& aInfo)
 		{
 		TPckg<TDmaV2TestInfo> package(aInfo);
 		return DoControl(EGetTestInfo, &package);
 		}
 
-	static void SelfTest();
-	
+	static void SelfTest(TBool aSimulatedDmac);
+
 	static void ApiTest();
 #endif // __KERNEL_MODE__
 
@@ -664,7 +687,9 @@
 		EIsOpened,
 		EIsrRedoRequest,
 		ECancelAllChannel,
-		EQueueRequestWithReque
+		EQueueRequestWithReque,
+		ELinkChannel,
+		EUnlinkChannel,
 		};
 	};
 #endif // __D_DMA2_H__