aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/libertas/scan.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/libertas/scan.h')
-rw-r--r--drivers/net/wireless/libertas/scan.h62
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 */
30struct 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
65int lbs_ssid_cmp(u8 *ssid1, u8 ssid1_len, u8 *ssid2, u8 ssid2_len); 15int lbs_ssid_cmp(u8 *ssid1, u8 ssid1_len, u8 *ssid2, u8 ssid2_len);
66 16
67struct 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
71struct bss_descriptor *lbs_find_bssid_in_list(struct lbs_private *priv,
72 u8 *bssid, u8 mode);
73
74int lbs_find_best_network_ssid(struct lbs_private *priv, u8 *out_ssid,
75 u8 *out_ssid_len, u8 preferred_mode, u8 *out_mode);
76
77int lbs_send_specific_ssid_scan(struct lbs_private *priv, u8 *ssid, 17int 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,
82int lbs_set_scan(struct net_device *dev, struct iw_request_info *info, 22int 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
25int lbs_scan_networks(struct lbs_private *priv, int full_scan);
26
85void lbs_scan_worker(struct work_struct *work); 27void lbs_scan_worker(struct work_struct *work);
86 28
87#endif 29#endif