wl1251: fix ELP_CTRL register reads
[pandora-wifi.git] / drivers / net / wireless / libertas / scan.h
1 /**
2   * Interface for the wlan network scan routines
3   *
4   * Driver interface functions and type declarations for the scan module
5   * implemented in scan.c.
6   */
7 #ifndef _LBS_SCAN_H
8 #define _LBS_SCAN_H
9
10 #include <net/iw_handler.h>
11
12 struct lbs_private;
13
14 #define MAX_NETWORK_COUNT 128
15
16 /** Chan-freq-TxPower mapping table*/
17 struct chan_freq_power {
18         /** channel Number              */
19         u16 channel;
20         /** frequency of this channel   */
21         u32 freq;
22         /** Max allowed Tx power level  */
23         u16 maxtxpower;
24         /** TRUE:channel unsupported;  FLASE:supported*/
25         u8 unsupported;
26 };
27
28 /** region-band mapping table*/
29 struct region_channel {
30         /** TRUE if this entry is valid              */
31         u8 valid;
32         /** region code for US, Japan ...            */
33         u8 region;
34         /** band B/G/A, used for BAND_CONFIG cmd             */
35         u8 band;
36         /** Actual No. of elements in the array below */
37         u8 nrcfp;
38         /** chan-freq-txpower mapping table*/
39         struct chan_freq_power *CFP;
40 };
41
42 /**
43  *  @brief Maximum number of channels that can be sent in a setuserscan ioctl
44  */
45 #define LBS_IOCTL_USER_SCAN_CHAN_MAX  50
46
47 int lbs_ssid_cmp(u8 *ssid1, u8 ssid1_len, u8 *ssid2, u8 ssid2_len);
48
49 int lbs_set_regiontable(struct lbs_private *priv, u8 region, u8 band);
50
51 int lbs_send_specific_ssid_scan(struct lbs_private *priv, u8 *ssid,
52                                 u8 ssid_len);
53
54 int lbs_get_scan(struct net_device *dev, struct iw_request_info *info,
55                          struct iw_point *dwrq, char *extra);
56 int lbs_set_scan(struct net_device *dev, struct iw_request_info *info,
57                          union iwreq_data *wrqu, char *extra);
58
59 int lbs_scan_networks(struct lbs_private *priv, int full_scan);
60
61 void lbs_scan_worker(struct work_struct *work);
62
63 #endif