summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/libertas/join.h
blob: 8efa2455af9ad3fd129d2562349359619e9782a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/* -*- mode: C; tab-width: 4; indent-tabs-mode: nil -*- */
/* vi: set expandtab shiftwidth=4 tabstop=4 textwidth=78: */

/**
  * 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"

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 *pssid);
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_idle_on(wlan_private * priv);
extern int libertas_idle_off(wlan_private * priv);

extern int libertas_do_adhocstop_ioctl(wlan_private * priv);
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 WLAN_802_11_SSID *adhocssid);
extern int libertas_join_adhoc_network(wlan_private * priv, struct bss_descriptor *pbssdesc);
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 bss_descriptor * pbssdesc);

#endif