--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlan_bearer/wlanldd/wlan_common/umac_common/inc/UmacProtocolStackSideUmac.h Tue Feb 02 02:03:13 2010 +0200
@@ -0,0 +1,100 @@
+/*
+* Copyright (c) 2002-2009 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 MWlanProtocolStackSideUmac class.
+*
+*/
+
+/*
+* %version: 9 %
+*/
+
+#ifndef WLANPROTOCOLSTACKSIDEUMAC_H
+#define WLANPROTOCOLSTACKSIDEUMAC_H
+
+struct TMacAddress;
+class TDataBuffer;
+
+/**
+*
+*/
+class MWlanProtocolStackSideUmac
+ {
+public:
+
+ virtual ~MWlanProtocolStackSideUmac() {};
+
+ virtual const TMacAddress& StationId() const = 0;
+
+ /**
+ * Triggers the setting of the Tx offset for every frame type which can be
+ * transmitted
+ */
+ virtual void SetTxOffset() = 0;
+
+ /**
+ * Transmit a protocol stack frame
+ *
+ * The frame to be sent needs to be in 802.3 format
+ * @param aDataBuffer meta header of the frame to be transmitted
+ * @param aMore ETrue if another frame is also ready to be transmitted
+ * EFalse otherwise
+ */
+ virtual void TxProtocolStackData(
+ TDataBuffer& aDataBuffer,
+ TBool aMore ) = 0;
+
+ /**
+ * Gets the WLAN vendor needs for extra space (bytes) in frame buffers
+ *
+ * @param aRxOffset How much extra space needs to be reserved
+ * in the Rx buffer before every Rx frame that is received from the
+ * WHA layer.
+ * @param aTxHeaderSpace How much extra space needs to be reserved
+ * in the Tx buffer before every Tx frame that is given to the
+ * WHA layer.
+ * @param aTxTrailerSpace How much extra space needs to be reserved
+ * in the Tx buffer after every Tx frame that is given to the
+ * WHA layer.
+ */
+ virtual void GetFrameExtraSpaceForVendor(
+ TUint8& aRxOffset,
+ TUint8& aTxHeaderSpace,
+ TUint8& aTxTrailerSpace ) const = 0 ;
+
+ /**
+ * Is protocol stack side transmission permitted
+ * UMAC adaptation needs to call this method every time before calling
+ * TxProtocolStackData() to check if it is allowed to call that
+ * method!
+ *
+ * @param aTxQueueState If the return value is ETrue, the state
+ * (full / not full) of every WHA transmit queue. Otherwise, not
+ * valid.
+ * Note! A frame shall not be submitted to a full queue - even if
+ * the return value would be ETrue
+ * @return ETrue if Tx frame submission is permitted
+ * EFalse if Tx frame submission is not permitted
+ */
+ virtual TBool TxPermitted( TWhaTxQueueState& aTxQueueState ) const = 0;
+
+ /**
+ * Is user data Tx enabled
+ *
+ * @return ETrue if user data Tx is enabled
+ * EFalse if user data Tx is not enabled
+ */
+ virtual TBool UserDataTxEnabled() const = 0;
+ };
+
+#endif // WLANPROTOCOLSTACKSIDEUMAC_H