diff options
Diffstat (limited to 'drivers/net/wireless/libertas/scan.h')
-rw-r--r-- | drivers/net/wireless/libertas/scan.h | 62 |
1 files changed, 2 insertions, 60 deletions
diff --git a/drivers/net/wireless/libertas/scan.h b/drivers/net/wireless/libertas/scan.h index b50cf1415e04..9e07b0464a8e 100644 --- a/drivers/net/wireless/libertas/scan.h +++ b/drivers/net/wireless/libertas/scan.h | |||
@@ -7,73 +7,13 @@ | |||
7 | #ifndef _LBS_SCAN_H | 7 | #ifndef _LBS_SCAN_H |
8 | #define _LBS_SCAN_H | 8 | #define _LBS_SCAN_H |
9 | 9 | ||
10 | #include <net/ieee80211.h> | ||
11 | #include "hostcmd.h" | ||
12 | |||
13 | /** | 10 | /** |
14 | * @brief Maximum number of channels that can be sent in a setuserscan ioctl | 11 | * @brief Maximum number of channels that can be sent in a setuserscan ioctl |
15 | */ | 12 | */ |
16 | #define LBS_IOCTL_USER_SCAN_CHAN_MAX 50 | 13 | #define LBS_IOCTL_USER_SCAN_CHAN_MAX 50 |
17 | 14 | ||
18 | //! Infrastructure BSS scan type in cmd_ds_802_11_scan | ||
19 | #define LBS_SCAN_BSS_TYPE_BSS 1 | ||
20 | |||
21 | //! Adhoc BSS scan type in cmd_ds_802_11_scan | ||
22 | #define LBS_SCAN_BSS_TYPE_IBSS 2 | ||
23 | |||
24 | //! Adhoc or Infrastructure BSS scan type in cmd_ds_802_11_scan, no filter | ||
25 | #define LBS_SCAN_BSS_TYPE_ANY 3 | ||
26 | |||
27 | /** | ||
28 | * @brief Structure used to store information for each beacon/probe response | ||
29 | */ | ||
30 | struct bss_descriptor { | ||
31 | u8 bssid[ETH_ALEN]; | ||
32 | |||
33 | u8 ssid[IW_ESSID_MAX_SIZE + 1]; | ||
34 | u8 ssid_len; | ||
35 | |||
36 | u16 capability; | ||
37 | u32 rssi; | ||
38 | u32 channel; | ||
39 | u16 beaconperiod; | ||
40 | u32 atimwindow; | ||
41 | |||
42 | /* IW_MODE_AUTO, IW_MODE_ADHOC, IW_MODE_INFRA */ | ||
43 | u8 mode; | ||
44 | |||
45 | /* zero-terminated array of supported data rates */ | ||
46 | u8 rates[MAX_RATES + 1]; | ||
47 | |||
48 | unsigned long last_scanned; | ||
49 | |||
50 | union ieeetypes_phyparamset phyparamset; | ||
51 | union IEEEtypes_ssparamset ssparamset; | ||
52 | |||
53 | struct ieeetypes_countryinfofullset countryinfo; | ||
54 | |||
55 | u8 wpa_ie[MAX_WPA_IE_LEN]; | ||
56 | size_t wpa_ie_len; | ||
57 | u8 rsn_ie[MAX_WPA_IE_LEN]; | ||
58 | size_t rsn_ie_len; | ||
59 | |||
60 | u8 mesh; | ||
61 | |||
62 | struct list_head list; | ||
63 | }; | ||
64 | |||
65 | int lbs_ssid_cmp(u8 *ssid1, u8 ssid1_len, u8 *ssid2, u8 ssid2_len); | 15 | int lbs_ssid_cmp(u8 *ssid1, u8 ssid1_len, u8 *ssid2, u8 ssid2_len); |
66 | 16 | ||
67 | struct bss_descriptor *lbs_find_ssid_in_list(struct lbs_private *priv, | ||
68 | u8 *ssid, u8 ssid_len, u8 *bssid, u8 mode, | ||
69 | int channel); | ||
70 | |||
71 | struct bss_descriptor *lbs_find_bssid_in_list(struct lbs_private *priv, | ||
72 | u8 *bssid, u8 mode); | ||
73 | |||
74 | int lbs_find_best_network_ssid(struct lbs_private *priv, u8 *out_ssid, | ||
75 | u8 *out_ssid_len, u8 preferred_mode, u8 *out_mode); | ||
76 | |||
77 | int lbs_send_specific_ssid_scan(struct lbs_private *priv, u8 *ssid, | 17 | int lbs_send_specific_ssid_scan(struct lbs_private *priv, u8 *ssid, |
78 | u8 ssid_len); | 18 | u8 ssid_len); |
79 | 19 | ||
@@ -82,6 +22,8 @@ int lbs_get_scan(struct net_device *dev, struct iw_request_info *info, | |||
82 | int lbs_set_scan(struct net_device *dev, struct iw_request_info *info, | 22 | int lbs_set_scan(struct net_device *dev, struct iw_request_info *info, |
83 | union iwreq_data *wrqu, char *extra); | 23 | union iwreq_data *wrqu, char *extra); |
84 | 24 | ||
25 | int lbs_scan_networks(struct lbs_private *priv, int full_scan); | ||
26 | |||
85 | void lbs_scan_worker(struct work_struct *work); | 27 | void lbs_scan_worker(struct work_struct *work); |
86 | 28 | ||
87 | #endif | 29 | #endif |