Loading drivers/staging/vt6656/device.h +1 −36 Original line number Diff line number Diff line Loading @@ -74,7 +74,6 @@ */ #include "80211hdr.h" #include "wmgr.h" #include "wcmd.h" #include "desc.h" #include "key.h" Loading Loading @@ -328,31 +327,6 @@ typedef enum _NDIS_802_11_STATUS_TYPE Ndis802_11StatusTypeMax, /* not a real type, defined as upper bound */ } NDIS_802_11_STATUS_TYPE, *PNDIS_802_11_STATUS_TYPE; /* added new types for PMKID Candidate lists */ typedef struct _PMKID_CANDIDATE { NDIS_802_11_MAC_ADDRESS BSSID; unsigned long Flags; } PMKID_CANDIDATE, *PPMKID_CANDIDATE; typedef struct _BSSID_INFO { NDIS_802_11_MAC_ADDRESS BSSID; NDIS_802_11_PMKID_VALUE PMKID; } BSSID_INFO, *PBSSID_INFO; typedef struct tagSPMKID { unsigned long Length; unsigned long BSSIDInfoCount; BSSID_INFO BSSIDInfo[MAX_BSSIDINFO_4_PMKID]; } SPMKID, *PSPMKID; typedef struct tagSPMKIDCandidateEvent { NDIS_802_11_STATUS_TYPE StatusType; unsigned long Version; /* Version of the structure */ unsigned long NumCandidates; /* No. of pmkid candidates */ PMKID_CANDIDATE CandidateList[MAX_PMKIDLIST]; } SPMKIDCandidateEvent, *PSPMKIDCandidateEvent; /* The receive duplicate detection cache entry */ typedef struct tagSCacheEntry{ __le16 wFmSequence; Loading Loading @@ -489,9 +463,6 @@ struct vnt_private { unsigned long SendContextsInUse; unsigned long RcvBuffersInUse; /* 802.11 management */ struct vnt_manager vnt_mgmt; u64 qwCurrTSF; u32 cbBulkInMax; int bPSRxBeacon; Loading Loading @@ -564,7 +535,6 @@ struct vnt_private { enum nl80211_iftype op_mode; int bBSSIDFilter; u16 wMaxTransmitMSDULifetime; u8 abyBSSID[ETH_ALEN]; u8 abyDesireBSSID[ETH_ALEN]; Loading @@ -584,10 +554,9 @@ struct vnt_private { /* Power save */ u16 current_aid; int bEnablePSMode; u16 wListenInterval; int bPWBitOn; WMAC_POWER_MODE ePSMode; unsigned long ulPSModeWaitTx; int bPSModeTxBurst; Loading Loading @@ -682,10 +651,6 @@ struct vnt_private { u8 abySNAP_RFC1042[ETH_ALEN]; u8 abySNAP_Bridgetunnel[ETH_ALEN]; /* Pre-Authentication & PMK cache */ SPMKID gsPMKID; SPMKIDCandidateEvent gsPMKIDCandidate; /* for 802.11h */ int b11hEnable; Loading drivers/staging/vt6656/main_usb.c +0 −5 Original line number Diff line number Diff line Loading @@ -51,7 +51,6 @@ #include "card.h" #include "baseband.h" #include "mac.h" #include "wmgr.h" #include "power.h" #include "wcmd.h" #include "rxtx.h" Loading Loading @@ -223,9 +222,7 @@ device_set_options(struct vnt_private *pDevice) { pDevice->wFragmentationThreshold = FRAG_THRESH_DEF; pDevice->byShortRetryLimit = SHORT_RETRY_DEF; pDevice->byLongRetryLimit = LONG_RETRY_DEF; pDevice->wMaxTransmitMSDULifetime = DEFAULT_MSDU_LIFETIME; pDevice->byShortPreamble = PREAMBLE_TYPE_DEF; pDevice->ePSMode = PS_MODE_DEF; pDevice->b11hEnable = X80211h_MODE_DEF; pDevice->op_mode = NL80211_IFTYPE_UNSPECIFIED; pDevice->uConnectionRate = DATA_RATE_DEF; Loading Loading @@ -1162,8 +1159,6 @@ vt6656_probe(struct usb_interface *intf, const struct usb_device_id *id) INIT_DELAYED_WORK(&priv->run_command_work, vRunCommand); INIT_WORK(&priv->read_work_item, RXvWorkItem); priv->vnt_mgmt.pAdapter = priv; usb_set_intfdata(intf, priv); wiphy = priv->hw->wiphy; Loading drivers/staging/vt6656/wcmd.c +0 −1 Original line number Diff line number Diff line Loading @@ -43,7 +43,6 @@ #include "card.h" #include "80211hdr.h" #include "wcmd.h" #include "wmgr.h" #include "power.h" #include "baseband.h" #include "usbpipe.h" Loading drivers/staging/vt6656/wmgr.hdeleted 100644 → 0 +0 −340 Original line number Diff line number Diff line /* * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc. * All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * * * File: wmgr.h * * Purpose: * * Author: lyndon chen * * Date: Jan 2, 2003 * * Functions: * * Revision History: * */ #ifndef __WMGR_H__ #define __WMGR_H__ #include "80211hdr.h" #include "wcmd.h" #include "card.h" // Scan time #define PROBE_DELAY 100 // (us) #define SWITCH_CHANNEL_DELAY 200 // (us) #define WLAN_SCAN_MINITIME 25 // (ms) #define WLAN_SCAN_MAXTIME 100 // (ms) #define TRIVIAL_SYNC_DIFFERENCE 0 // (us) #define DEFAULT_IBSS_BI 100 // (ms) #define WCMD_ACTIVE_SCAN_TIME 20 //(ms) #define WCMD_PASSIVE_SCAN_TIME 100 //(ms) #define DEFAULT_MSDU_LIFETIME 512 // ms #define DEFAULT_MGN_LIFETIME 8 // ms #define MAKE_BEACON_RESERVED 10 //(us) #define TIM_MULTICAST_MASK 0x01 #define TIM_BITMAPOFFSET_MASK 0xFE #define DEFAULT_DTIM_PERIOD 1 #define AP_LONG_RETRY_LIMIT 4 #define DEFAULT_IBSS_CHANNEL 6 //2.4G //mike define: make timer to expire after desired times #define timer_expire(timer, next_tick) mod_timer(&timer, RUN_AT(next_tick)) typedef void (*TimerFunction)(unsigned long); //+++ NDIS related typedef u8 NDIS_802_11_MAC_ADDRESS[ETH_ALEN]; typedef struct _NDIS_802_11_AI_REQFI { u16 Capabilities; u16 ListenInterval; NDIS_802_11_MAC_ADDRESS CurrentAPAddress; } NDIS_802_11_AI_REQFI, *PNDIS_802_11_AI_REQFI; typedef struct _NDIS_802_11_AI_RESFI { u16 Capabilities; u16 StatusCode; u16 AssociationId; } NDIS_802_11_AI_RESFI, *PNDIS_802_11_AI_RESFI; typedef struct _NDIS_802_11_ASSOCIATION_INFORMATION { u32 Length; u16 AvailableRequestFixedIEs; NDIS_802_11_AI_REQFI RequestFixedIEs; u32 RequestIELength; u32 OffsetRequestIEs; u16 AvailableResponseFixedIEs; NDIS_802_11_AI_RESFI ResponseFixedIEs; u32 ResponseIELength; u32 OffsetResponseIEs; } NDIS_802_11_ASSOCIATION_INFORMATION, *PNDIS_802_11_ASSOCIATION_INFORMATION; typedef struct tagSAssocInfo { NDIS_802_11_ASSOCIATION_INFORMATION AssocInfo; u8 abyIEs[WLAN_BEACON_FR_MAXLEN+WLAN_BEACON_FR_MAXLEN]; /* store ReqIEs set by OID_802_11_ASSOCIATION_INFORMATION */ u32 RequestIELength; u8 abyReqIEs[WLAN_BEACON_FR_MAXLEN]; } SAssocInfo, *PSAssocInfo; typedef enum tagWMAC_AUTHENTICATION_MODE { WMAC_AUTH_OPEN, WMAC_AUTH_SHAREKEY, WMAC_AUTH_AUTO, WMAC_AUTH_WPA, WMAC_AUTH_WPAPSK, WMAC_AUTH_WPANONE, WMAC_AUTH_WPA2, WMAC_AUTH_WPA2PSK, WMAC_AUTH_MAX // Not a real mode, defined as upper bound } WMAC_AUTHENTICATION_MODE, *PWMAC_AUTHENTICATION_MODE; // Pre-configured Mode (from XP) typedef enum tagWMAC_CONFIG_MODE { WMAC_CONFIG_ESS_STA, WMAC_CONFIG_IBSS_STA, WMAC_CONFIG_AUTO, WMAC_CONFIG_AP } WMAC_CONFIG_MODE, *PWMAC_CONFIG_MODE; typedef enum tagWMAC_SCAN_TYPE { WMAC_SCAN_ACTIVE, WMAC_SCAN_PASSIVE, WMAC_SCAN_HYBRID } WMAC_SCAN_TYPE, *PWMAC_SCAN_TYPE; typedef enum tagWMAC_SCAN_STATE { WMAC_NO_SCANNING, WMAC_IS_SCANNING, WMAC_IS_PROBEPENDING } WMAC_SCAN_STATE, *PWMAC_SCAN_STATE; // Notes: // Basic Service Set state explained as following: // WMAC_STATE_IDLE : no BSS is selected (Adhoc or Infra) // WMAC_STATE_STARTED : no BSS is selected, start own IBSS (Adhoc only) // WMAC_STATE_JOINTED : BSS is selected and synchronized (Adhoc or Infra) // WMAC_STATE_AUTHPENDING : Authentication pending (Infra) // WMAC_STATE_AUTH : Authenticated (Infra) // WMAC_STATE_ASSOCPENDING : Association pending (Infra) // WMAC_STATE_ASSOC : Associated (Infra) typedef enum tagWMAC_BSS_STATE { WMAC_STATE_IDLE, WMAC_STATE_STARTED, WMAC_STATE_JOINTED, WMAC_STATE_AUTHPENDING, WMAC_STATE_AUTH, WMAC_STATE_ASSOCPENDING, WMAC_STATE_ASSOC } WMAC_BSS_STATE, *PWMAC_BSS_STATE; // WMAC selected running mode typedef enum tagWMAC_CURRENT_MODE { WMAC_MODE_STANDBY, WMAC_MODE_ESS_STA, WMAC_MODE_IBSS_STA, WMAC_MODE_ESS_AP } WMAC_CURRENT_MODE, *PWMAC_CURRENT_MODE; typedef enum tagWMAC_POWER_MODE { WMAC_POWER_CAM, WMAC_POWER_FAST, WMAC_POWER_MAX } WMAC_POWER_MODE, *PWMAC_POWER_MODE; /* Tx Management Packet descriptor */ struct vnt_tx_mgmt { PUWLAN_80211HDR p80211Header; u32 cbMPDULen; u32 cbPayloadLen; }; /* Rx Management Packet descriptor */ struct vnt_rx_mgmt { PUWLAN_80211HDR p80211Header; u64 qwLocalTSF; u32 cbMPDULen; u32 cbPayloadLen; u32 uRSSI; u8 bySQ; u8 byRxRate; u8 byRxChannel; }; struct vnt_manager { void *pAdapter; /* MAC address */ u8 abyMACAddr[WLAN_ADDR_LEN]; /* Configuration Mode */ WMAC_CONFIG_MODE eConfigMode; /* MAC pre-configed mode */ CARD_PHY_TYPE eCurrentPHYMode; /* Operation state variables */ WMAC_CURRENT_MODE eCurrMode; /* MAC current connection mode */ WMAC_BSS_STATE eCurrState; /* MAC current BSS state */ WMAC_BSS_STATE eLastState; /* MAC last BSS state */ u8 byCSSGK; u8 byCSSPK; int bCurrBSSIDFilterOn; /* Current state vars */ u32 uCurrChannel; u8 abyCurrSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1]; u8 abyCurrExtSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1]; u8 abyCurrSSID[WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1]; u8 abyCurrBSSID[WLAN_BSSID_LEN]; u16 wCurrCapInfo; u16 wCurrAID; u32 uRSSITrigger; u16 wCurrATIMWindow; u16 wCurrBeaconPeriod; int bIsDS; u8 byERPContext; CMD_STATE eCommandState; u32 uScanChannel; /* Desire joinning BSS vars */ u8 abyDesireSSID[WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1]; u8 abyDesireBSSID[WLAN_BSSID_LEN]; /*restore BSS info for Ad-Hoc mode */ u8 abyAdHocSSID[WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1]; /* Adhoc or AP configuration vars */ u16 wIBSSBeaconPeriod; u16 wIBSSATIMWindow; u32 uIBSSChannel; u8 abyIBSSSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1]; u8 byAPBBType; u16 wWPAIELen; u32 uAssocCount; int bMoreData; /* Scan state vars */ WMAC_SCAN_STATE eScanState; WMAC_SCAN_TYPE eScanType; u32 uScanStartCh; u32 uScanEndCh; u16 wScanSteps; u32 uScanBSSType; /* Desire scannig vars */ u8 abyScanSSID[WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1]; u8 abyScanBSSID[WLAN_BSSID_LEN]; /* Privacy */ WMAC_AUTHENTICATION_MODE eAuthenMode; int bShareKeyAlgorithm; u8 abyChallenge[WLAN_CHALLENGE_LEN]; int bPrivacyInvoked; /* Received beacon state vars */ int bInTIM; int bMulticastTIM; u8 byDTIMCount; u8 byDTIMPeriod; /* Power saving state vars */ WMAC_POWER_MODE ePSMode; u16 wListenInterval; u16 wCountToWakeUp; int bInTIMWake; u8 *pbyPSPacketPool; u8 byPSPacketPool[sizeof(struct vnt_tx_mgmt) + WLAN_NULLDATA_FR_MAXLEN]; int bRxBeaconInTBTTWake; /* management command related */ u32 uCmdBusy; u32 uCmdHostAPBusy; /* management packet pool */ u8 *pbyMgmtPacketPool; u8 byMgmtPacketPool[sizeof(struct vnt_tx_mgmt) + WLAN_A3FR_MAXLEN]; /* Temporarily Rx Mgmt Packet Descriptor */ struct vnt_rx_mgmt sRxPacket; /* link list of known bss's (scan results) */ /* link list of same bss's */ int Cisco_cckm; u8 Roam_dbm; /* table list of known node */ /* sNodeDBList[0] is reserved for AP under Infra mode */ /* sNodeDBList[0] is reserved for Multicast under adhoc/AP mode */ /* WPA2 PMKID Cache */ int bRoaming; /* associate info */ SAssocInfo sAssocInfo; /* for 802.11h */ int b11hEnable; int bSwitchChannel; u8 byNewChannel; u32 uLengthOfRepEIDs; u8 abyCurrentMSRReq[sizeof(struct vnt_tx_mgmt) + WLAN_A3FR_MAXLEN]; u8 abyCurrentMSRRep[sizeof(struct vnt_tx_mgmt) + WLAN_A3FR_MAXLEN]; u8 abyIECountry[WLAN_A3FR_MAXLEN]; u8 abyIBSSDFSOwner[6]; u8 byIBSSDFSRecovery; struct sk_buff skb; }; #endif /* __WMGR_H__ */ Loading
drivers/staging/vt6656/device.h +1 −36 Original line number Diff line number Diff line Loading @@ -74,7 +74,6 @@ */ #include "80211hdr.h" #include "wmgr.h" #include "wcmd.h" #include "desc.h" #include "key.h" Loading Loading @@ -328,31 +327,6 @@ typedef enum _NDIS_802_11_STATUS_TYPE Ndis802_11StatusTypeMax, /* not a real type, defined as upper bound */ } NDIS_802_11_STATUS_TYPE, *PNDIS_802_11_STATUS_TYPE; /* added new types for PMKID Candidate lists */ typedef struct _PMKID_CANDIDATE { NDIS_802_11_MAC_ADDRESS BSSID; unsigned long Flags; } PMKID_CANDIDATE, *PPMKID_CANDIDATE; typedef struct _BSSID_INFO { NDIS_802_11_MAC_ADDRESS BSSID; NDIS_802_11_PMKID_VALUE PMKID; } BSSID_INFO, *PBSSID_INFO; typedef struct tagSPMKID { unsigned long Length; unsigned long BSSIDInfoCount; BSSID_INFO BSSIDInfo[MAX_BSSIDINFO_4_PMKID]; } SPMKID, *PSPMKID; typedef struct tagSPMKIDCandidateEvent { NDIS_802_11_STATUS_TYPE StatusType; unsigned long Version; /* Version of the structure */ unsigned long NumCandidates; /* No. of pmkid candidates */ PMKID_CANDIDATE CandidateList[MAX_PMKIDLIST]; } SPMKIDCandidateEvent, *PSPMKIDCandidateEvent; /* The receive duplicate detection cache entry */ typedef struct tagSCacheEntry{ __le16 wFmSequence; Loading Loading @@ -489,9 +463,6 @@ struct vnt_private { unsigned long SendContextsInUse; unsigned long RcvBuffersInUse; /* 802.11 management */ struct vnt_manager vnt_mgmt; u64 qwCurrTSF; u32 cbBulkInMax; int bPSRxBeacon; Loading Loading @@ -564,7 +535,6 @@ struct vnt_private { enum nl80211_iftype op_mode; int bBSSIDFilter; u16 wMaxTransmitMSDULifetime; u8 abyBSSID[ETH_ALEN]; u8 abyDesireBSSID[ETH_ALEN]; Loading @@ -584,10 +554,9 @@ struct vnt_private { /* Power save */ u16 current_aid; int bEnablePSMode; u16 wListenInterval; int bPWBitOn; WMAC_POWER_MODE ePSMode; unsigned long ulPSModeWaitTx; int bPSModeTxBurst; Loading Loading @@ -682,10 +651,6 @@ struct vnt_private { u8 abySNAP_RFC1042[ETH_ALEN]; u8 abySNAP_Bridgetunnel[ETH_ALEN]; /* Pre-Authentication & PMK cache */ SPMKID gsPMKID; SPMKIDCandidateEvent gsPMKIDCandidate; /* for 802.11h */ int b11hEnable; Loading
drivers/staging/vt6656/main_usb.c +0 −5 Original line number Diff line number Diff line Loading @@ -51,7 +51,6 @@ #include "card.h" #include "baseband.h" #include "mac.h" #include "wmgr.h" #include "power.h" #include "wcmd.h" #include "rxtx.h" Loading Loading @@ -223,9 +222,7 @@ device_set_options(struct vnt_private *pDevice) { pDevice->wFragmentationThreshold = FRAG_THRESH_DEF; pDevice->byShortRetryLimit = SHORT_RETRY_DEF; pDevice->byLongRetryLimit = LONG_RETRY_DEF; pDevice->wMaxTransmitMSDULifetime = DEFAULT_MSDU_LIFETIME; pDevice->byShortPreamble = PREAMBLE_TYPE_DEF; pDevice->ePSMode = PS_MODE_DEF; pDevice->b11hEnable = X80211h_MODE_DEF; pDevice->op_mode = NL80211_IFTYPE_UNSPECIFIED; pDevice->uConnectionRate = DATA_RATE_DEF; Loading Loading @@ -1162,8 +1159,6 @@ vt6656_probe(struct usb_interface *intf, const struct usb_device_id *id) INIT_DELAYED_WORK(&priv->run_command_work, vRunCommand); INIT_WORK(&priv->read_work_item, RXvWorkItem); priv->vnt_mgmt.pAdapter = priv; usb_set_intfdata(intf, priv); wiphy = priv->hw->wiphy; Loading
drivers/staging/vt6656/wcmd.c +0 −1 Original line number Diff line number Diff line Loading @@ -43,7 +43,6 @@ #include "card.h" #include "80211hdr.h" #include "wcmd.h" #include "wmgr.h" #include "power.h" #include "baseband.h" #include "usbpipe.h" Loading
drivers/staging/vt6656/wmgr.hdeleted 100644 → 0 +0 −340 Original line number Diff line number Diff line /* * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc. * All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * * * File: wmgr.h * * Purpose: * * Author: lyndon chen * * Date: Jan 2, 2003 * * Functions: * * Revision History: * */ #ifndef __WMGR_H__ #define __WMGR_H__ #include "80211hdr.h" #include "wcmd.h" #include "card.h" // Scan time #define PROBE_DELAY 100 // (us) #define SWITCH_CHANNEL_DELAY 200 // (us) #define WLAN_SCAN_MINITIME 25 // (ms) #define WLAN_SCAN_MAXTIME 100 // (ms) #define TRIVIAL_SYNC_DIFFERENCE 0 // (us) #define DEFAULT_IBSS_BI 100 // (ms) #define WCMD_ACTIVE_SCAN_TIME 20 //(ms) #define WCMD_PASSIVE_SCAN_TIME 100 //(ms) #define DEFAULT_MSDU_LIFETIME 512 // ms #define DEFAULT_MGN_LIFETIME 8 // ms #define MAKE_BEACON_RESERVED 10 //(us) #define TIM_MULTICAST_MASK 0x01 #define TIM_BITMAPOFFSET_MASK 0xFE #define DEFAULT_DTIM_PERIOD 1 #define AP_LONG_RETRY_LIMIT 4 #define DEFAULT_IBSS_CHANNEL 6 //2.4G //mike define: make timer to expire after desired times #define timer_expire(timer, next_tick) mod_timer(&timer, RUN_AT(next_tick)) typedef void (*TimerFunction)(unsigned long); //+++ NDIS related typedef u8 NDIS_802_11_MAC_ADDRESS[ETH_ALEN]; typedef struct _NDIS_802_11_AI_REQFI { u16 Capabilities; u16 ListenInterval; NDIS_802_11_MAC_ADDRESS CurrentAPAddress; } NDIS_802_11_AI_REQFI, *PNDIS_802_11_AI_REQFI; typedef struct _NDIS_802_11_AI_RESFI { u16 Capabilities; u16 StatusCode; u16 AssociationId; } NDIS_802_11_AI_RESFI, *PNDIS_802_11_AI_RESFI; typedef struct _NDIS_802_11_ASSOCIATION_INFORMATION { u32 Length; u16 AvailableRequestFixedIEs; NDIS_802_11_AI_REQFI RequestFixedIEs; u32 RequestIELength; u32 OffsetRequestIEs; u16 AvailableResponseFixedIEs; NDIS_802_11_AI_RESFI ResponseFixedIEs; u32 ResponseIELength; u32 OffsetResponseIEs; } NDIS_802_11_ASSOCIATION_INFORMATION, *PNDIS_802_11_ASSOCIATION_INFORMATION; typedef struct tagSAssocInfo { NDIS_802_11_ASSOCIATION_INFORMATION AssocInfo; u8 abyIEs[WLAN_BEACON_FR_MAXLEN+WLAN_BEACON_FR_MAXLEN]; /* store ReqIEs set by OID_802_11_ASSOCIATION_INFORMATION */ u32 RequestIELength; u8 abyReqIEs[WLAN_BEACON_FR_MAXLEN]; } SAssocInfo, *PSAssocInfo; typedef enum tagWMAC_AUTHENTICATION_MODE { WMAC_AUTH_OPEN, WMAC_AUTH_SHAREKEY, WMAC_AUTH_AUTO, WMAC_AUTH_WPA, WMAC_AUTH_WPAPSK, WMAC_AUTH_WPANONE, WMAC_AUTH_WPA2, WMAC_AUTH_WPA2PSK, WMAC_AUTH_MAX // Not a real mode, defined as upper bound } WMAC_AUTHENTICATION_MODE, *PWMAC_AUTHENTICATION_MODE; // Pre-configured Mode (from XP) typedef enum tagWMAC_CONFIG_MODE { WMAC_CONFIG_ESS_STA, WMAC_CONFIG_IBSS_STA, WMAC_CONFIG_AUTO, WMAC_CONFIG_AP } WMAC_CONFIG_MODE, *PWMAC_CONFIG_MODE; typedef enum tagWMAC_SCAN_TYPE { WMAC_SCAN_ACTIVE, WMAC_SCAN_PASSIVE, WMAC_SCAN_HYBRID } WMAC_SCAN_TYPE, *PWMAC_SCAN_TYPE; typedef enum tagWMAC_SCAN_STATE { WMAC_NO_SCANNING, WMAC_IS_SCANNING, WMAC_IS_PROBEPENDING } WMAC_SCAN_STATE, *PWMAC_SCAN_STATE; // Notes: // Basic Service Set state explained as following: // WMAC_STATE_IDLE : no BSS is selected (Adhoc or Infra) // WMAC_STATE_STARTED : no BSS is selected, start own IBSS (Adhoc only) // WMAC_STATE_JOINTED : BSS is selected and synchronized (Adhoc or Infra) // WMAC_STATE_AUTHPENDING : Authentication pending (Infra) // WMAC_STATE_AUTH : Authenticated (Infra) // WMAC_STATE_ASSOCPENDING : Association pending (Infra) // WMAC_STATE_ASSOC : Associated (Infra) typedef enum tagWMAC_BSS_STATE { WMAC_STATE_IDLE, WMAC_STATE_STARTED, WMAC_STATE_JOINTED, WMAC_STATE_AUTHPENDING, WMAC_STATE_AUTH, WMAC_STATE_ASSOCPENDING, WMAC_STATE_ASSOC } WMAC_BSS_STATE, *PWMAC_BSS_STATE; // WMAC selected running mode typedef enum tagWMAC_CURRENT_MODE { WMAC_MODE_STANDBY, WMAC_MODE_ESS_STA, WMAC_MODE_IBSS_STA, WMAC_MODE_ESS_AP } WMAC_CURRENT_MODE, *PWMAC_CURRENT_MODE; typedef enum tagWMAC_POWER_MODE { WMAC_POWER_CAM, WMAC_POWER_FAST, WMAC_POWER_MAX } WMAC_POWER_MODE, *PWMAC_POWER_MODE; /* Tx Management Packet descriptor */ struct vnt_tx_mgmt { PUWLAN_80211HDR p80211Header; u32 cbMPDULen; u32 cbPayloadLen; }; /* Rx Management Packet descriptor */ struct vnt_rx_mgmt { PUWLAN_80211HDR p80211Header; u64 qwLocalTSF; u32 cbMPDULen; u32 cbPayloadLen; u32 uRSSI; u8 bySQ; u8 byRxRate; u8 byRxChannel; }; struct vnt_manager { void *pAdapter; /* MAC address */ u8 abyMACAddr[WLAN_ADDR_LEN]; /* Configuration Mode */ WMAC_CONFIG_MODE eConfigMode; /* MAC pre-configed mode */ CARD_PHY_TYPE eCurrentPHYMode; /* Operation state variables */ WMAC_CURRENT_MODE eCurrMode; /* MAC current connection mode */ WMAC_BSS_STATE eCurrState; /* MAC current BSS state */ WMAC_BSS_STATE eLastState; /* MAC last BSS state */ u8 byCSSGK; u8 byCSSPK; int bCurrBSSIDFilterOn; /* Current state vars */ u32 uCurrChannel; u8 abyCurrSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1]; u8 abyCurrExtSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1]; u8 abyCurrSSID[WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1]; u8 abyCurrBSSID[WLAN_BSSID_LEN]; u16 wCurrCapInfo; u16 wCurrAID; u32 uRSSITrigger; u16 wCurrATIMWindow; u16 wCurrBeaconPeriod; int bIsDS; u8 byERPContext; CMD_STATE eCommandState; u32 uScanChannel; /* Desire joinning BSS vars */ u8 abyDesireSSID[WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1]; u8 abyDesireBSSID[WLAN_BSSID_LEN]; /*restore BSS info for Ad-Hoc mode */ u8 abyAdHocSSID[WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1]; /* Adhoc or AP configuration vars */ u16 wIBSSBeaconPeriod; u16 wIBSSATIMWindow; u32 uIBSSChannel; u8 abyIBSSSuppRates[WLAN_IEHDR_LEN + WLAN_RATES_MAXLEN + 1]; u8 byAPBBType; u16 wWPAIELen; u32 uAssocCount; int bMoreData; /* Scan state vars */ WMAC_SCAN_STATE eScanState; WMAC_SCAN_TYPE eScanType; u32 uScanStartCh; u32 uScanEndCh; u16 wScanSteps; u32 uScanBSSType; /* Desire scannig vars */ u8 abyScanSSID[WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1]; u8 abyScanBSSID[WLAN_BSSID_LEN]; /* Privacy */ WMAC_AUTHENTICATION_MODE eAuthenMode; int bShareKeyAlgorithm; u8 abyChallenge[WLAN_CHALLENGE_LEN]; int bPrivacyInvoked; /* Received beacon state vars */ int bInTIM; int bMulticastTIM; u8 byDTIMCount; u8 byDTIMPeriod; /* Power saving state vars */ WMAC_POWER_MODE ePSMode; u16 wListenInterval; u16 wCountToWakeUp; int bInTIMWake; u8 *pbyPSPacketPool; u8 byPSPacketPool[sizeof(struct vnt_tx_mgmt) + WLAN_NULLDATA_FR_MAXLEN]; int bRxBeaconInTBTTWake; /* management command related */ u32 uCmdBusy; u32 uCmdHostAPBusy; /* management packet pool */ u8 *pbyMgmtPacketPool; u8 byMgmtPacketPool[sizeof(struct vnt_tx_mgmt) + WLAN_A3FR_MAXLEN]; /* Temporarily Rx Mgmt Packet Descriptor */ struct vnt_rx_mgmt sRxPacket; /* link list of known bss's (scan results) */ /* link list of same bss's */ int Cisco_cckm; u8 Roam_dbm; /* table list of known node */ /* sNodeDBList[0] is reserved for AP under Infra mode */ /* sNodeDBList[0] is reserved for Multicast under adhoc/AP mode */ /* WPA2 PMKID Cache */ int bRoaming; /* associate info */ SAssocInfo sAssocInfo; /* for 802.11h */ int b11hEnable; int bSwitchChannel; u8 byNewChannel; u32 uLengthOfRepEIDs; u8 abyCurrentMSRReq[sizeof(struct vnt_tx_mgmt) + WLAN_A3FR_MAXLEN]; u8 abyCurrentMSRRep[sizeof(struct vnt_tx_mgmt) + WLAN_A3FR_MAXLEN]; u8 abyIECountry[WLAN_A3FR_MAXLEN]; u8 abyIBSSDFSOwner[6]; u8 byIBSSDFSRecovery; struct sk_buff skb; }; #endif /* __WMGR_H__ */