8c51276575
Remove unused/duplicated fields and consolidate static data rate arrays, for example the libertas_supported_rates[] and datarates[] arrays in the bss_descriptor structure, and the libertas_supported_rates field in the wlan_adapter structure. Introduce libertas_fw_index_to_data_rate and libertas_data_rate_to_fw_index functions and use them everywhere firmware requires a rate index rather than a rate array. The firmware requires the 4 basic rates to have the MSB set, but most other stuff doesn't, like WEXT and mesh ioctls. Therefore, only set the MSB on basic rates when pushing rate arrays to firmware instead of doing a ton of (rate & 0x7f) everywhere. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
58 lines
2.1 KiB
C
58 lines
2.1 KiB
C
/**
|
|
* Interface for the wlan infrastructure and adhoc join routines
|
|
*
|
|
* Driver interface functions and type declarations for the join module
|
|
* implemented in wlan_join.c. Process all start/join requests for
|
|
* both adhoc and infrastructure networks
|
|
*/
|
|
#ifndef _WLAN_JOIN_H
|
|
#define _WLAN_JOIN_H
|
|
|
|
#include "defs.h"
|
|
#include "dev.h"
|
|
|
|
struct cmd_ds_command;
|
|
extern int libertas_cmd_80211_authenticate(wlan_private * priv,
|
|
struct cmd_ds_command *cmd,
|
|
void *pdata_buf);
|
|
extern int libertas_cmd_80211_ad_hoc_join(wlan_private * priv,
|
|
struct cmd_ds_command *cmd,
|
|
void *pdata_buf);
|
|
extern int libertas_cmd_80211_ad_hoc_stop(wlan_private * priv,
|
|
struct cmd_ds_command *cmd);
|
|
extern int libertas_cmd_80211_ad_hoc_start(wlan_private * priv,
|
|
struct cmd_ds_command *cmd,
|
|
void *pdata_buf);
|
|
extern int libertas_cmd_80211_deauthenticate(wlan_private * priv,
|
|
struct cmd_ds_command *cmd);
|
|
extern int libertas_cmd_80211_associate(wlan_private * priv,
|
|
struct cmd_ds_command *cmd,
|
|
void *pdata_buf);
|
|
|
|
extern int libertas_ret_80211_ad_hoc_start(wlan_private * priv,
|
|
struct cmd_ds_command *resp);
|
|
extern int libertas_ret_80211_ad_hoc_stop(wlan_private * priv,
|
|
struct cmd_ds_command *resp);
|
|
extern int libertas_ret_80211_disassociate(wlan_private * priv,
|
|
struct cmd_ds_command *resp);
|
|
extern int libertas_ret_80211_associate(wlan_private * priv,
|
|
struct cmd_ds_command *resp);
|
|
|
|
extern int libertas_reassociation_thread(void *data);
|
|
|
|
extern int libertas_start_adhoc_network(wlan_private * priv,
|
|
struct assoc_request * assoc_req);
|
|
extern int libertas_join_adhoc_network(wlan_private * priv,
|
|
struct assoc_request * assoc_req);
|
|
extern int libertas_stop_adhoc_network(wlan_private * priv);
|
|
|
|
extern int libertas_send_deauthentication(wlan_private * priv);
|
|
extern int libertas_send_deauth(wlan_private * priv);
|
|
|
|
extern int libertas_do_adhocstop_ioctl(wlan_private * priv);
|
|
|
|
int wlan_associate(wlan_private * priv, struct assoc_request * assoc_req);
|
|
|
|
void libertas_unset_basic_rate_flags(u8 * rates, size_t len);
|
|
|
|
#endif
|