e76850d620
The BSS to associate with (in either Infrastructure or IBSS join operations) is now stored in _one_ place in the association request (the bss member), not two places as before (pattemptedbss and curbssparams->bssdescriptor). Association requests are passed to the necessary association functions to (a) give them access to the bss member and (b) ensure that association/join/start setup uses settings from the request, not the current adapter settings (which may not be valid for the requested settings). Because the 'bss' member of the association request is used now, the command return functions from associate and adhoc join/start need access to the in-progress association request to update curbssparams when everything is done. The association worker moves the request from pending to in-progress for the duration of the association attempt. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
60 lines
2.1 KiB
C
60 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);
|
|
|
|
struct WLAN_802_11_SSID;
|
|
struct bss_descriptor;
|
|
|
|
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);
|
|
|
|
#endif
|