]> git.karo-electronics.de Git - karo-tx-linux.git/blob - drivers/staging/winbond/scan_s.h
Merge commit 'kumar/next' into merge
[karo-tx-linux.git] / drivers / staging / winbond / scan_s.h
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         u8                      reserved_1[2];
39
40         struct SSID_Element     sSSID; // 34B. scan only for this SSID
41         u8                      reserved_2[2];
42
43 } SCAN_REQ_PARA, *psSCAN_REQ_PARA;
44
45 typedef struct _SCAN_PARAMETERS
46 {
47         u16                             wState;
48         u16                             iCurrentChannelIndex;
49
50         SCAN_REQ_PARA   sScanReq;
51
52         u8                              BSSID[MAC_ADDR_LENGTH + 2];             //scan only for this BSSID
53
54         u32                             BssType;                                                //scan only for this BSS type
55
56         //struct SSID_Element   sSSID;                                          //scan only for this SSID
57         u16                             ProbeDelay;
58         u16                             MinChannelTime;
59
60         u16                             MaxChannelTime;
61         u16                             reserved_1;
62
63     s32                         iBgScanPeriod;                          // XP: 5 sec
64
65     u8                          boBgScan;                                       // Wb: enable BG scan, For XP, this value must be FALSE
66     u8                          boFastScan;                                     // Wb: reserved
67         u8                              boCCAbusy;                                      // Wb: HWMAC CCA busy status
68         u8                              reserved_2;
69
70         struct timer_list timer;
71
72         u32                             ScanTimeStamp;                  //Increase 1 per background scan(1 minute)
73         u32                             BssTimeStamp;                   //Increase 1 per connect status check
74         u32                             RxNumPerAntenna[2];             //
75
76         u8                              AntennaToggle;                  //
77         u8                              boInTimerHandler;
78         u8                              boTimerActive;                          // Wb: reserved
79         u8                              boSave;
80
81         u32                             BScanEnable; // Background scan enable. Default is On
82
83 } SCAN_PARAMETERS, *psSCAN_PARAMETERS;
84
85 // Encapsulate 'adapter' data structure
86 #define psSCAN                  (&(adapter->sScanPara))
87 #define psSCANREQ                       (&(adapter->sScanPara.sScanReq))
88
89 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
90 //      scan.h
91 //              Define the related definitions of scan module
92 //      history -- 01/14/03' created
93 //
94 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
95
96 //Define the state of scan module
97 #define SCAN_INACTIVE                                           0
98 #define WAIT_PROBE_DELAY                                        1
99 #define WAIT_RESPONSE_MIN                                       2
100 #define WAIT_RESPONSE_MAX_ACTIVE                        3
101 #define WAIT_BEACON_MAX_PASSIVE                         4
102 #define SCAN_COMPLETE                                           5
103 #define BG_SCAN                                                         6
104 #define BG_SCANNING                                                     7
105
106
107 // The value will load from EEPROM
108 // If 0xff is set in EEPOM, the driver will use SCAN_MAX_CHNL_TIME instead.
109 // The definition is in WbHal.h
110 //      #define SCAN_MAX_CHNL_TIME                              (50)
111
112
113
114 // static functions
115
116 //static void ScanTimerHandler(struct wbsoft_priv * adapter);
117 //static void vScanTimerStart(struct wbsoft_priv *      adapter, int timeout_value);
118 //static void vScanTimerStop(struct wbsoft_priv * adapter);
119
120 #endif