--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlan_bearer/wlanldd/wlan_common/umac_common/inc/umac_types.h Tue Feb 02 02:03:13 2010 +0200
@@ -0,0 +1,209 @@
+/*
+* 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: UMAC type definitions.
+*
+*/
+
+/*
+* %version: 28 %
+*/
+
+#ifndef UMACTYPES_H
+#define UMACTYPES_H
+
+#include "am_platform_libraries.h"
+#include "pack.h"
+#include <wlanosaplatform.h>
+
+/// Indication data type
+typedef enum _TIndication
+ {
+ EMediaDisconnect,
+ EOsPowerStandby,
+ EHWFailed,
+ EConsecutiveBeaconsLost,
+ EConsecutiveTxFailures,
+ EConsecutivePwrModeSetFailures,
+ EBSSRegained,
+ EWepDecryptFailure,
+ EPairwiseKeyMicFailure,
+ EGroupKeyMicFailure,
+ ERcpiTrigger,
+ EScanCompleted,
+ ESignalLossPrediction,
+ EApTestOpportunity,
+ EVoiceCallOn,
+ EVoiceCallOff,
+ EPsModeError
+ } TIndication;
+
+
+/**
+* Maximum length of an SSID in BYTES
+*/
+const TUint8 KMaxSSIDLength = 32;
+
+/**
+* Length of a MAC address
+*/
+const TUint8 KMacAddressLength = 6;
+
+/**
+* 802.11 WEP key ID values
+*/
+enum T802Dot11WepKeyId
+ {
+ E802Dot11WepKeyId0 = 0,
+ E802Dot11WepKeyId1 = 1,
+ E802Dot11WepKeyId2 = 2,
+ E802Dot11WepKeyId3 = 3,
+ // defined as an upper bound
+ E802Dot11WepKeyIdMax = 4
+ };
+
+/** Tx queues. They have a 1:1 mapping with QoS Access Categories */
+
+enum TQueueId
+ {
+ ELegacy,
+ EBackGround,
+ EVideo,
+ EVoice,
+ EQueueIdMax // defined as upper bound
+ };
+
+/**
+ * WHA transmit queue state
+ */
+enum TTxQueueState
+ {
+ ETxQueueFull,
+ ETxQueueNotFull
+ };
+
+/**
+* MAC address
+*/
+#pragma pack( 1 )
+struct TMacAddress
+ {
+ /** the MAC address */
+ TUint8 iMacAddress[KMacAddressLength];
+ } __PACKED; // 6 bytes
+
+// pop the pragma pack stack to return to normal alignment of structures
+#pragma pack( )
+
+/**
+* Broadcast MAC Address.
+*/
+const TMacAddress KBroadcastMacAddr = {{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }};
+
+/**
+* MAC address that is all zeros
+*/
+const TMacAddress KZeroMacAddr = {{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }};
+
+/** IP v4 address */
+typedef TUint32 TIpv4Address;
+
+/** Length of OUI field in SNAP header */
+const TUint8 KOuiLength = 3;
+
+/** SNAP header */
+#pragma pack( 1 )
+typedef struct _TSnapHeader
+ {
+ /** destination service access point */
+ TUint8 iDSAP;
+ /** source service access point */
+ TUint8 iSSAP;
+ /** control field */
+ TUint8 iControl;
+ /** organizationally unique identifier */
+ TUint8 iOUI[KOuiLength]; // 3
+ } TSnapHeader; // 6 bytes
+#pragma pack()
+
+/**
+ * state of all WHA transmit queues
+ */
+typedef TTxQueueState TWhaTxQueueState[EQueueIdMax];
+
+
+// returns aDest
+extern TAny* os_memcpy(
+ TAny* aDest,
+ const TAny* aSrc,
+ TUint32 aLengthinBytes );
+
+// return 0 if equal
+extern TInt os_memcmp(
+ const TAny* aLhs,
+ const TAny* aRhs,
+ TUint aNumOfBytes );
+
+extern TAny* os_memset(
+ void* aDest,
+ TInt aValue,
+ TUint aCount );
+
+
+/** internal UMAC events bitmask type */
+typedef TUint32 TInternalEvent;
+
+/** internal UMAC event requiring us to update the AC parameters to
+ * WHA layer
+ */
+const TUint32 KAcParamUpdate = ( 1 << 0 );
+/** internal UMAC event requiring us to change the dot11 power mgmt mode */
+const TUint32 KPowerMgmtTransition = ( 1 << 1 );
+/** internal UMAC default timer timeout event */
+const TUint32 KTimeout = ( 1 << 2 );
+/** internal UMAC Voice Call Entry timer timeout event */
+const TUint32 KVoiceCallEntryTimerTimeout = ( 1 << 3 );
+/** internal UMAC Null timer timeout event */
+const TUint32 KNullTimerTimeout = ( 1 << 4 );
+/** internal UMAC No Voice timer timeout event */
+const TUint32 KNoVoiceTimerTimeout = ( 1 << 5 );
+/** internal UMAC Keep Alive timer timeout event */
+const TUint32 KKeepAliveTimerTimeout = ( 1 << 6 );
+/** internal UMAC Active to Light PS timer timeout event */
+const TUint32 KActiveToLightPsTimerTimeout = ( 1 << 7 );
+/** internal UMAC Light PS to Active timer timeout event */
+const TUint32 KLightPsToActiveTimerTimeout = ( 1 << 8 );
+/** internal UMAC Light PS to Deep PS timer timeout event */
+const TUint32 KLightPsToDeepPsTimerTimeout = ( 1 << 9 );
+/** internal UMAC event requiring us to set the cts to self MIB */
+const TUint32 KSetCtsToSelf = ( 1 << 10 );
+/** internal UMAC event requiring us to set the RCPI trigger level MIB */
+const TUint32 KSetRcpiTriggerLevel = ( 1 << 11 );
+/** internal UMAC event requiring us to set the HT BSS Operation MIB */
+const TUint32 KSetHtBssOperation = ( 1 << 12 );
+
+
+/** internal WLAN LDD timer type */
+enum TWlanTimer
+ {
+ EWlanDefaultTimer,
+ EWlanVoiceCallEntryTimer,
+ EWlanNullTimer,
+ EWlanNoVoiceTimer,
+ EWlanKeepAliveTimer,
+ EWlanActiveToLightPsTimer,
+ EWlanLightPsToActiveTimer,
+ EWlanLightPsToDeepPsTimer
+ };
+
+#endif // UMACTYPES_H