diff -r 000000000000 -r c40eb8fe8501 wlan_bearer/wlanldd/wlan_common/umac_common/inc/umac_types.h --- /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 + +/// 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