2007-02-10 17:25:27 +03:00
/**
* Interface for the wlan network scan routines
*
* Driver interface functions and type declarations for the scan module
2007-11-16 02:05:47 +03:00
* implemented in scan . c .
2007-02-10 17:25:27 +03:00
*/
2007-11-16 02:05:47 +03:00
# ifndef _LBS_SCAN_H
# define _LBS_SCAN_H
2007-02-10 17:25:27 +03:00
2008-10-31 00:09:54 +03:00
# include <net/iw_handler.h>
2009-10-22 17:30:48 +04:00
struct lbs_private ;
2008-10-31 00:09:54 +03:00
# define MAX_NETWORK_COUNT 128
2009-10-22 17:30:48 +04: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 17:25:27 +03:00
/**
* @ brief Maximum number of channels that can be sent in a setuserscan ioctl
*/
2007-11-16 02:05:47 +03:00
# define LBS_IOCTL_USER_SCAN_CHAN_MAX 50
2007-02-10 17:25:27 +03:00
2007-11-16 02:05:47 +03:00
int lbs_ssid_cmp ( u8 * ssid1 , u8 ssid1_len , u8 * ssid2 , u8 ssid2_len ) ;
2007-05-26 00:15:56 +04:00
2009-10-22 17:30:48 +04:00
int lbs_set_regiontable ( struct lbs_private * priv , u8 region , u8 band ) ;
2007-11-23 17:43:44 +03:00
int lbs_send_specific_ssid_scan ( struct lbs_private * priv , u8 * ssid ,
2008-03-05 09:05:32 +03:00
u8 ssid_len ) ;
2007-02-10 17:25:27 +03:00
2007-11-16 02:05:47 +03:00
int lbs_get_scan ( struct net_device * dev , struct iw_request_info * info ,
2007-02-10 17:25:27 +03:00
struct iw_point * dwrq , char * extra ) ;
2007-11-16 02:05:47 +03:00
int lbs_set_scan ( struct net_device * dev , struct iw_request_info * info ,
2008-03-05 09:05:32 +03:00
union iwreq_data * wrqu , char * extra ) ;
2007-02-10 17:25:27 +03:00
2008-04-02 18:27:42 +04:00
int lbs_scan_networks ( struct lbs_private * priv , int full_scan ) ;
2007-11-16 02:05:47 +03:00
void lbs_scan_worker ( struct work_struct * work ) ;
2007-08-02 21:19:04 +04:00
2007-11-16 02:05:47 +03:00
# endif