• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef __WINBOND_SCAN_S_H
2 #define __WINBOND_SCAN_S_H
3 
4 #include <linux/types.h>
5 #include "localpara.h"
6 
7 //
8 // SCAN task global CONSTANTS, STRUCTURES, variables
9 //
10 
11 //////////////////////////////////////////////////////////////////////////
12 //define the msg type of SCAN module
13 #define SCANMSG_SCAN_REQ			0x01
14 #define SCANMSG_BEACON				0x02
15 #define SCANMSG_PROBE_RESPONSE		0x03
16 #define SCANMSG_TIMEOUT				0x04
17 #define SCANMSG_TXPROBE_FAIL		0x05
18 #define SCANMSG_ENABLE_BGSCAN		0x06
19 #define SCANMSG_STOP_SCAN			0x07
20 
21 // BSS Type =>conform to
22 // IBSS             : ToDS/FromDS = 00
23 // Infrastructure   : ToDS/FromDS = 01
24 #define IBSS_NET			0
25 #define ESS_NET				1
26 #define ANYBSS_NET			2
27 
28 // Scan Type
29 #define ACTIVE_SCAN			0
30 #define PASSIVE_SCAN		1
31 
32 ///////////////////////////////////////////////////////////////////////////
33 //Global data structures, Initial Scan & Background Scan
34 typedef struct _SCAN_REQ_PARA	//mandatory parameters for SCAN request
35 {
36 	u32				ScanType;			//passive/active scan
37 
38 	CHAN_LIST		sChannelList;	// 86B
39 	u8			reserved_1[2];
40 
41 	struct SSID_Element	sSSID; // 34B. scan only for this SSID
42 	u8			reserved_2[2];
43 
44 } SCAN_REQ_PARA, *psSCAN_REQ_PARA;
45 
46 typedef struct _SCAN_PARAMETERS
47 {
48 	u16				wState;
49 	u16				iCurrentChannelIndex;
50 
51 	SCAN_REQ_PARA	sScanReq;
52 
53 	u8				BSSID[MAC_ADDR_LENGTH + 2];		//scan only for this BSSID
54 
55 	u32				BssType;						//scan only for this BSS type
56 
57 	//struct SSID_Element	sSSID;						//scan only for this SSID
58 	u16				ProbeDelay;
59 	u16				MinChannelTime;
60 
61 	u16				MaxChannelTime;
62 	u16				reserved_1;
63 
64     s32				iBgScanPeriod;				// XP: 5 sec
65 
66     u8				boBgScan;					// Wb: enable BG scan, For XP, this value must be FALSE
67     u8				boFastScan;					// Wb: reserved
68 	u8				boCCAbusy;					// Wb: HWMAC CCA busy status
69 	u8				reserved_2;
70 
71 	struct timer_list timer;
72 
73 	u32				ScanTimeStamp;			//Increase 1 per background scan(1 minute)
74 	u32				BssTimeStamp;			//Increase 1 per connect status check
75 	u32				RxNumPerAntenna[2];		//
76 
77 	u8				AntennaToggle;			//
78 	u8				boInTimerHandler;
79 	u8 				boTimerActive;				// Wb: reserved
80 	u8				boSave;
81 
82 	u32				BScanEnable; // Background scan enable. Default is On
83 
84 } SCAN_PARAMETERS, *psSCAN_PARAMETERS;
85 
86 // Encapsulate 'adapter' data structure
87 #define psSCAN			(&(adapter->sScanPara))
88 #define psSCANREQ			(&(adapter->sScanPara.sScanReq))
89 
90 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
91 //	scan.h
92 //		Define the related definitions of scan module
93 //	history -- 01/14/03' created
94 //
95 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
96 
97 //Define the state of scan module
98 #define SCAN_INACTIVE						0
99 #define WAIT_PROBE_DELAY					1
100 #define WAIT_RESPONSE_MIN					2
101 #define WAIT_RESPONSE_MAX_ACTIVE			3
102 #define WAIT_BEACON_MAX_PASSIVE				4
103 #define SCAN_COMPLETE						5
104 #define BG_SCAN								6
105 #define BG_SCANNING							7
106 
107 
108 // The value will load from EEPROM
109 // If 0xff is set in EEPOM, the driver will use SCAN_MAX_CHNL_TIME instead.
110 // The definition is in WbHal.h
111 //	#define SCAN_MAX_CHNL_TIME				(50)
112 
113 
114 
115 // static functions
116 
117 //static void ScanTimerHandler(struct wbsoft_priv * adapter);
118 //static void vScanTimerStart(struct wbsoft_priv *	adapter, int timeout_value);
119 //static void vScanTimerStop(struct wbsoft_priv * adapter);
120 
121 #endif
122