#ifndef __WINBOND_SCAN_S_H #define __WINBOND_SCAN_S_H #include #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