aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/cfg80211.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2011-11-04 06:18:15 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-11-09 16:12:39 -0500
commit7f6cf311a594c1e7ca8120367dd1d4c685aabff1 (patch)
tree60308101541ba278a4dabd8a5884b5a0de3722eb /include/net/cfg80211.h
parent562a74803f4881772ba2375ec4e5aa0ad90f4caa (diff)
nl80211: add API to probe a client
When the AP SME in hostapd is used it wants to probe the clients when they have been idle for some time. Add explicit API to support this. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/net/cfg80211.h')
-rw-r--r--include/net/cfg80211.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 86d207da6cce..389e85e8c03d 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -1432,6 +1432,9 @@ struct cfg80211_gtk_rekey_data {
1432 * 1432 *
1433 * @tdls_mgmt: Transmit a TDLS management frame. 1433 * @tdls_mgmt: Transmit a TDLS management frame.
1434 * @tdls_oper: Perform a high-level TDLS operation (e.g. TDLS link setup). 1434 * @tdls_oper: Perform a high-level TDLS operation (e.g. TDLS link setup).
1435 *
1436 * @probe_client: probe an associated client, must return a cookie that it
1437 * later passes to cfg80211_probe_status().
1435 */ 1438 */
1436struct cfg80211_ops { 1439struct cfg80211_ops {
1437 int (*suspend)(struct wiphy *wiphy, struct cfg80211_wowlan *wow); 1440 int (*suspend)(struct wiphy *wiphy, struct cfg80211_wowlan *wow);
@@ -1621,6 +1624,9 @@ struct cfg80211_ops {
1621 u16 status_code, const u8 *buf, size_t len); 1624 u16 status_code, const u8 *buf, size_t len);
1622 int (*tdls_oper)(struct wiphy *wiphy, struct net_device *dev, 1625 int (*tdls_oper)(struct wiphy *wiphy, struct net_device *dev,
1623 u8 *peer, enum nl80211_tdls_operation oper); 1626 u8 *peer, enum nl80211_tdls_operation oper);
1627
1628 int (*probe_client)(struct wiphy *wiphy, struct net_device *dev,
1629 const u8 *peer, u64 *cookie);
1624}; 1630};
1625 1631
1626/* 1632/*
@@ -3216,6 +3222,17 @@ void cfg80211_pmksa_candidate_notify(struct net_device *dev, int index,
3216bool cfg80211_rx_spurious_frame(struct net_device *dev, 3222bool cfg80211_rx_spurious_frame(struct net_device *dev,
3217 const u8 *addr, gfp_t gfp); 3223 const u8 *addr, gfp_t gfp);
3218 3224
3225/**
3226 * cfg80211_probe_status - notify userspace about probe status
3227 * @dev: the device the probe was sent on
3228 * @addr: the address of the peer
3229 * @cookie: the cookie filled in @probe_client previously
3230 * @acked: indicates whether probe was acked or not
3231 * @gfp: allocation flags
3232 */
3233void cfg80211_probe_status(struct net_device *dev, const u8 *addr,
3234 u64 cookie, bool acked, gfp_t gfp);
3235
3219/* Logging, debugging and troubleshooting/diagnostic helpers. */ 3236/* Logging, debugging and troubleshooting/diagnostic helpers. */
3220 3237
3221/* wiphy_printk helpers, similar to dev_printk */ 3238/* wiphy_printk helpers, similar to dev_printk */