2007-02-10 22:25:27 +08:00
|
|
|
/**
|
|
|
|
* Interface for the wlan network scan routines
|
|
|
|
*
|
|
|
|
* Driver interface functions and type declarations for the scan module
|
2007-11-16 07:05:47 +08:00
|
|
|
* implemented in scan.c.
|
2007-02-10 22:25:27 +08:00
|
|
|
*/
|
2007-11-16 07:05:47 +08:00
|
|
|
#ifndef _LBS_SCAN_H
|
|
|
|
#define _LBS_SCAN_H
|
2007-02-10 22:25:27 +08:00
|
|
|
|
2008-10-31 05:09:54 +08:00
|
|
|
#include <net/iw_handler.h>
|
|
|
|
|
2009-10-22 21:30:48 +08:00
|
|
|
struct lbs_private;
|
|
|
|
|
2008-10-31 05:09:54 +08:00
|
|
|
#define MAX_NETWORK_COUNT 128
|
|
|
|
|
2009-10-22 21:30:48 +08:00
|
|
|
/** Chan-freq-TxPower mapping table*/
|
|
|
|
struct chan_freq_power {
|
|
|
|
/** channel Number */
|
|
|
|
u16 channel;
|
|
|
|
/** frequency of this channel */
|
|
|
|
u32 freq;
|
|
|
|
/** Max allowed Tx power level */
|
|
|
|
u16 maxtxpower;
|
|
|
|
/** TRUE:channel unsupported; FLASE:supported*/
|
|
|
|
u8 unsupported;
|
|
|
|
};
|
|
|
|
|
|
|
|
/** region-band mapping table*/
|
|
|
|
struct region_channel {
|
|
|
|
/** TRUE if this entry is valid */
|
|
|
|
u8 valid;
|
|
|
|
/** region code for US, Japan ... */
|
|
|
|
u8 region;
|
|
|
|
/** band B/G/A, used for BAND_CONFIG cmd */
|
|
|
|
u8 band;
|
|
|
|
/** Actual No. of elements in the array below */
|
|
|
|
u8 nrcfp;
|
|
|
|
/** chan-freq-txpower mapping table*/
|
|
|
|
struct chan_freq_power *CFP;
|
|
|
|
};
|
|
|
|
|
2007-02-10 22:25:27 +08:00
|
|
|
/**
|
|
|
|
* @brief Maximum number of channels that can be sent in a setuserscan ioctl
|
|
|
|
*/
|
2007-11-16 07:05:47 +08:00
|
|
|
#define LBS_IOCTL_USER_SCAN_CHAN_MAX 50
|
2007-02-10 22:25:27 +08:00
|
|
|
|
2007-11-16 07:05:47 +08:00
|
|
|
int lbs_ssid_cmp(u8 *ssid1, u8 ssid1_len, u8 *ssid2, u8 ssid2_len);
|
2007-05-26 04:15:56 +08:00
|
|
|
|
2009-10-22 21:30:48 +08:00
|
|
|
int lbs_set_regiontable(struct lbs_private *priv, u8 region, u8 band);
|
|
|
|
|
2007-11-23 22:43:44 +08:00
|
|
|
int lbs_send_specific_ssid_scan(struct lbs_private *priv, u8 *ssid,
|
2008-03-05 14:05:32 +08:00
|
|
|
u8 ssid_len);
|
2007-02-10 22:25:27 +08:00
|
|
|
|
2007-11-16 07:05:47 +08:00
|
|
|
int lbs_get_scan(struct net_device *dev, struct iw_request_info *info,
|
2007-02-10 22:25:27 +08:00
|
|
|
struct iw_point *dwrq, char *extra);
|
2007-11-16 07:05:47 +08:00
|
|
|
int lbs_set_scan(struct net_device *dev, struct iw_request_info *info,
|
2008-03-05 14:05:32 +08:00
|
|
|
union iwreq_data *wrqu, char *extra);
|
2007-02-10 22:25:27 +08:00
|
|
|
|
2008-04-02 22:27:42 +08:00
|
|
|
int lbs_scan_networks(struct lbs_private *priv, int full_scan);
|
|
|
|
|
2007-11-16 07:05:47 +08:00
|
|
|
void lbs_scan_worker(struct work_struct *work);
|
2007-08-03 01:19:04 +08:00
|
|
|
|
2007-11-16 07:05:47 +08:00
|
|
|
#endif
|