wlan_bearer/wlanldd/wlan_common/umac_common/inc/umac_types.h
changeset 0 c40eb8fe8501
child 7 0abc8c98be24
--- /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