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 | ||
8dafb70e | 28 | struct net_device *ath6kl_interface_add(struct ath6kl *ar, char *name, |
334234b5 | 29 | enum nl80211_iftype type, |
55055976 | 30 | u8 fw_vif_idx, u8 nw_type); |
1c17d313 | 31 | void ath6kl_cfg80211_scan_complete_event(struct ath6kl_vif *vif, bool aborted); |
bdcd8170 | 32 | |
240d2799 | 33 | void ath6kl_cfg80211_connect_event(struct ath6kl_vif *vif, u16 channel, |
bdcd8170 KV |
34 | u8 *bssid, u16 listen_intvl, |
35 | u16 beacon_intvl, | |
36 | enum network_type nw_type, | |
37 | u8 beacon_ie_len, u8 assoc_req_len, | |
38 | u8 assoc_resp_len, u8 *assoc_info); | |
39 | ||
240d2799 | 40 | void ath6kl_cfg80211_disconnect_event(struct ath6kl_vif *vif, u8 reason, |
bdcd8170 KV |
41 | u8 *bssid, u8 assoc_resp_len, |
42 | u8 *assoc_info, u16 proto_reason); | |
43 | ||
240d2799 | 44 | void ath6kl_cfg80211_tkip_micerr_event(struct ath6kl_vif *vif, u8 keyid, |
bdcd8170 KV |
45 | bool ismcast); |
46 | ||
52d81a68 | 47 | int ath6kl_cfg80211_suspend(struct ath6kl *ar, |
0f60e9f4 RM |
48 | enum ath6kl_cfg_suspend_mode mode, |
49 | struct cfg80211_wowlan *wow); | |
50 | ||
52d81a68 KV |
51 | int ath6kl_cfg80211_resume(struct ath6kl *ar); |
52 | ||
c25889e8 KV |
53 | void ath6kl_cfg80211_vif_cleanup(struct ath6kl_vif *vif); |
54 | ||
7125f01d KV |
55 | void ath6kl_cfg80211_stop(struct ath6kl_vif *vif); |
56 | void ath6kl_cfg80211_stop_all(struct ath6kl *ar); | |
ec4b7f60 | 57 | |
46d33a21 KV |
58 | int ath6kl_cfg80211_init(struct ath6kl *ar); |
59 | void ath6kl_cfg80211_cleanup(struct ath6kl *ar); | |
60 | ||
45eaa78f KV |
61 | struct ath6kl *ath6kl_cfg80211_create(void); |
62 | void ath6kl_cfg80211_destroy(struct ath6kl *ar); | |
63 | ||
bdcd8170 | 64 | #endif /* ATH6KL_CFG80211_H */ |