Update contrib.
1 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of the License "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
14 // e32test\multimedia\d_mmcsc.h
15 // The interface to a device driver which creates a shared chunk - for use with the sound driver tests.
16 // This driver uses only generic kernel APIs and so need not be built from each variant.
26 #if !defined(__D_MMCSC_H__)
30 #ifndef __KERNEL_MODE__
34 _LIT(KDevMmCScName,"MmCSc");
36 const TInt KMmCScBufSize=153600; // 150K
37 const TInt KMmCScNumBuffers=8;
41 /** The first entry of the buffer offset list. This list holds the offset from the start of the chunk
42 for each buffer. This list is only valid if the flag KScFlagBufOffsetListInUse is set in
43 TSharedChunkBufConfigBase::iFlags. */
48 class TMmSharedChunkBufConfig : public TSharedChunkBufConfigBase
51 /** The buffer offset list. This holds the offset from the start of the chunk for each buffer. This list is
52 only valid if the flag KScFlagBufOffsetListInUse is set in TSharedChunkBufConfigBase::iFlags. */
53 struct SBufSpecList iSpec[KMmCScNumBuffers];
62 class RMmCreateSc : public RBusLogicalChannel
66 { EGetChunkHandle,EGetBufInfo };
67 #ifndef __KERNEL_MODE__
70 { return DoCreate(KDevMmCScName,TVersion(0,1,1),KNullUnit,NULL,NULL,EOwnerThread);}
71 inline TInt GetChunkHandle(RChunk& aChunk)
72 { return(aChunk.SetReturnedHandle(DoControl(EGetChunkHandle)));}
73 inline TInt GetBufInfo(TDes8& aBufInfo)
74 { return(DoControl(EGetBufInfo,(TAny*)&aBufInfo));}
78 #endif // __D_MMCSC_H__