blob: 775bb81f23cc83e0cba00a79b244948994988806 [file] [log] [blame]
#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