--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlan_bearer/wlanldd/wlan_symbian/wlanldd_symbian/inc/wlldddmausablememory.h Tue Feb 02 02:03:13 2010 +0200
@@ -0,0 +1,114 @@
+/*
+* Copyright (c) 2006-2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "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: Declaration of the WlanDmaUsableMemory class.
+*
+*/
+
+/*
+* %version: 7 %
+*/
+
+#ifndef C_WLANDMAUSABLEMEMORY_H
+#define C_WLANDMAUSABLEMEMORY_H
+
+class DPlatChunkHw;
+
+/**
+ * Encapsulates DMA usable memory
+ *
+ * @since S60 v3.1
+ */
+class WlanDmaUsableMemory
+ {
+
+public:
+
+ WlanDmaUsableMemory() :
+ iSizeInBytes( 0 ), iPhysicalRamAddr( 0 ), iFlags( 0 ), iChunk( NULL ) {};
+
+ /**
+ * Init method of the class
+ *
+ * @since S60 3.1
+ * @param aSizeInBytes size of memory in bytes required
+ * @param aUseCachedMemory ETrue if cached memory shall be used
+ * EFalse otherwise
+ * @return if not 0 -> actual size of memory acquired
+ * (rounded to a multiple of page size).
+ * operation failure upon 0
+ */
+ TUint32 Init( TUint32 aSizeInBytes, TBool aUseCachedMemory );
+
+ /**
+ * Finit method of the class
+ * Can be called even when the init of the class failed
+ *
+ * @since S60 3.1
+ */
+ void Finit();
+
+ /**
+ * Get the linear address of the memory buffer
+ *
+ * @since S60 3.1
+ * @param aSizeInBytes size of memory in bytes required
+ * @returns begin of the memory that can be used for DMA xfer
+ */
+ TLinAddr Addr( TUint32 aSizeInBytes );
+
+ /**
+ * Get the linear address of the memory buffer
+ *
+ * @since S60 3.1
+ * @returns begin of the memory that can be used for DMA xfer
+ */
+ TLinAddr Addr();
+
+protected:
+
+private:
+
+ // Prohibit copy constructor.
+ WlanDmaUsableMemory ( const WlanDmaUsableMemory& );
+ // Prohibit assigment operator.
+ WlanDmaUsableMemory& operator= ( const WlanDmaUsableMemory& );
+
+private: // data
+
+ static const TUint32 KResourceAcquired = (1 << 0);
+
+ /**
+ * size of memory in bytes
+ */
+ TInt iSizeInBytes;
+
+ /**
+ * physical memory address
+ */
+ TPhysAddr iPhysicalRamAddr;
+
+ /**
+ * internal flags
+ */
+ TUint32 iFlags;
+
+ /**
+ * the actual chunk of memory
+ */
+ DPlatChunkHw* iChunk;
+
+ };
+
+
+#endif // C_WLANDMAUSABLEMEMORY_H