| #ifndef __WINBOND_SCAN_S_H |
| #define __WINBOND_SCAN_S_H |
| |
| #include <linux/types.h> |
| #include "localpara.h" |
| |
| // |
| // SCAN task global CONSTANTS, STRUCTURES, variables |
| // |
| |
| ////////////////////////////////////////////////////////////////////////// |
| //define the msg type of SCAN module |
| #define SCANMSG_SCAN_REQ 0x01 |
| #define SCANMSG_BEACON 0x02 |
| #define SCANMSG_PROBE_RESPONSE 0x03 |
| #define SCANMSG_TIMEOUT 0x04 |
| #define SCANMSG_TXPROBE_FAIL 0x05 |
| #define SCANMSG_ENABLE_BGSCAN 0x06 |
| #define SCANMSG_STOP_SCAN 0x07 |
| |
| // BSS Type =>conform to |
| // IBSS : ToDS/FromDS = 00 |
| // Infrastructure : ToDS/FromDS = 01 |
| #define IBSS_NET 0 |
| #define ESS_NET 1 |
| #define ANYBSS_NET 2 |
| |
| // Scan Type |
| #define ACTIVE_SCAN 0 |
| #define PASSIVE_SCAN 1 |
| |
| /////////////////////////////////////////////////////////////////////////// |
| //Global data structures, Initial Scan & Background Scan |
| typedef struct _SCAN_REQ_PARA //mandatory parameters for SCAN request |
| { |
| u32 ScanType; //passive/active scan |
| |
| CHAN_LIST sChannelList; // 86B |
| u8 reserved_1[2]; |
| |
| struct SSID_Element sSSID; // 34B. scan only for this SSID |
| u8 reserved_2[2]; |
| |
| } SCAN_REQ_PARA, *psSCAN_REQ_PARA; |
| |
| typedef struct _SCAN_PARAMETERS |
| { |
| u16 wState; |
| u16 iCurrentChannelIndex; |
| |
| SCAN_REQ_PARA sScanReq; |
| |
| u8 BSSID[MAC_ADDR_LENGTH + 2]; //scan only for this BSSID |
| |
| u32 BssType; //scan only for this BSS type |
| |
| //struct SSID_Element sSSID; //scan only for this SSID |
| u16 ProbeDelay; |
| u16 MinChannelTime; |
| |
| u16 MaxChannelTime; |
| u16 reserved_1; |
| |
| s32 iBgScanPeriod; // XP: 5 sec |
| |
| u8 boBgScan; // Wb: enable BG scan, For XP, this value must be FALSE |
| u8 boFastScan; // Wb: reserved |
| u8 boCCAbusy; // Wb: HWMAC CCA busy status |
| u8 reserved_2; |
| |
| struct timer_list timer; |
| |
| u32 ScanTimeStamp; //Increase 1 per background scan(1 minute) |
| u32 BssTimeStamp; //Increase 1 per connect status check |
| u32 RxNumPerAntenna[2]; // |
| |
| u8 AntennaToggle; // |
| u8 boInTimerHandler; |
| u8 boTimerActive; // Wb: reserved |
| u8 boSave; |
| |
| u32 BScanEnable; // Background scan enable. Default is On |
| |
| } SCAN_PARAMETERS, *psSCAN_PARAMETERS; |
| |
| // Encapsulate 'adapter' data structure |
| #define psSCAN (&(adapter->sScanPara)) |
| #define psSCANREQ (&(adapter->sScanPara.sScanReq)) |
| |
| //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| // scan.h |
| // Define the related definitions of scan module |
| // history -- 01/14/03' created |
| // |
| //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| |
| //Define the state of scan module |
| #define SCAN_INACTIVE 0 |
| #define WAIT_PROBE_DELAY 1 |
| #define WAIT_RESPONSE_MIN 2 |
| #define WAIT_RESPONSE_MAX_ACTIVE 3 |
| #define WAIT_BEACON_MAX_PASSIVE 4 |
| #define SCAN_COMPLETE 5 |
| #define BG_SCAN 6 |
| #define BG_SCANNING 7 |
| |
| |
| // The value will load from EEPROM |
| // If 0xff is set in EEPOM, the driver will use SCAN_MAX_CHNL_TIME instead. |
| // The definition is in WbHal.h |
| // #define SCAN_MAX_CHNL_TIME (50) |
| |
| |
| |
| // static functions |
| |
| //static void ScanTimerHandler(struct wbsoft_priv * adapter); |
| //static void vScanTimerStart(struct wbsoft_priv * adapter, int timeout_value); |
| //static void vScanTimerStop(struct wbsoft_priv * adapter); |
| |
| #endif |