]>
Commit | Line | Data |
---|---|---|
bdcd8170 KV |
1 | /* |
2 | * Copyright (c) 2011 Atheros Communications Inc. | |
1b2df407 | 3 | * Copyright (c) 2011-2012 Qualcomm Atheros, Inc. |
bdcd8170 KV |
4 | * |
5 | * Permission to use, copy, modify, and/or distribute this software for any | |
6 | * purpose with or without fee is hereby granted, provided that the above | |
7 | * copyright notice and this permission notice appear in all copies. | |
8 | * | |
9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
10 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
11 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
12 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
13 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
14 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
15 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
16 | */ | |
17 | ||
18 | #ifndef ATH6KL_CFG80211_H | |
19 | #define ATH6KL_CFG80211_H | |
20 | ||
52d81a68 KV |
21 | enum ath6kl_cfg_suspend_mode { |
22 | ATH6KL_CFG_SUSPEND_DEEPSLEEP, | |
b4b2a0b1 | 23 | ATH6KL_CFG_SUSPEND_CUTPOWER, |
10509f90 KV |
24 | ATH6KL_CFG_SUSPEND_WOW, |
25 | ATH6KL_CFG_SUSPEND_SCHED_SCAN, | |
52d81a68 KV |
26 | }; |
27 | ||
84efbb84 JB |
28 | struct wireless_dev *ath6kl_interface_add(struct ath6kl *ar, char *name, |
29 | enum nl80211_iftype type, | |
30 | u8 fw_vif_idx, u8 nw_type); | |
c4f7863e TP |
31 | void ath6kl_cfg80211_ch_switch_notify(struct ath6kl_vif *vif, int freq, |
32 | enum wmi_phy_mode mode); | |
1c17d313 | 33 | void ath6kl_cfg80211_scan_complete_event(struct ath6kl_vif *vif, bool aborted); |
bdcd8170 | 34 | |
240d2799 | 35 | void ath6kl_cfg80211_connect_event(struct ath6kl_vif *vif, u16 channel, |
bdcd8170 KV |
36 | u8 *bssid, u16 listen_intvl, |
37 | u16 beacon_intvl, | |
38 | enum network_type nw_type, | |
39 | u8 beacon_ie_len, u8 assoc_req_len, | |
40 | u8 assoc_resp_len, u8 *assoc_info); | |
41 | ||
240d2799 | 42 | void ath6kl_cfg80211_disconnect_event(struct ath6kl_vif *vif, u8 reason, |
bdcd8170 KV |
43 | u8 *bssid, u8 assoc_resp_len, |
44 | u8 *assoc_info, u16 proto_reason); | |
45 | ||
240d2799 | 46 | void ath6kl_cfg80211_tkip_micerr_event(struct ath6kl_vif *vif, u8 keyid, |
bdcd8170 KV |
47 | bool ismcast); |
48 | ||
52d81a68 | 49 | int ath6kl_cfg80211_suspend(struct ath6kl *ar, |
0f60e9f4 RM |
50 | enum ath6kl_cfg_suspend_mode mode, |
51 | struct cfg80211_wowlan *wow); | |
52 | ||
52d81a68 KV |
53 | int ath6kl_cfg80211_resume(struct ath6kl *ar); |
54 | ||
c25889e8 KV |
55 | void ath6kl_cfg80211_vif_cleanup(struct ath6kl_vif *vif); |
56 | ||
7125f01d KV |
57 | void ath6kl_cfg80211_stop(struct ath6kl_vif *vif); |
58 | void ath6kl_cfg80211_stop_all(struct ath6kl *ar); | |
ec4b7f60 | 59 | |
46d33a21 KV |
60 | int ath6kl_cfg80211_init(struct ath6kl *ar); |
61 | void ath6kl_cfg80211_cleanup(struct ath6kl *ar); | |
62 | ||
45eaa78f KV |
63 | struct ath6kl *ath6kl_cfg80211_create(void); |
64 | void ath6kl_cfg80211_destroy(struct ath6kl *ar); | |
c422d52d TP |
65 | /* TODO: remove this once ath6kl_vif_cleanup() is moved to cfg80211.c */ |
66 | void ath6kl_cfg80211_sta_bmiss_enhance(struct ath6kl_vif *vif, bool enable); | |
45eaa78f | 67 | |
bdcd8170 | 68 | #endif /* ATH6KL_CFG80211_H */ |