diff options
author | Johannes Berg <johannes.berg@intel.com> | 2011-11-04 06:18:15 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-11-09 16:12:39 -0500 |
commit | 7f6cf311a594c1e7ca8120367dd1d4c685aabff1 (patch) | |
tree | 60308101541ba278a4dabd8a5884b5a0de3722eb /include/net/cfg80211.h | |
parent | 562a74803f4881772ba2375ec4e5aa0ad90f4caa (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.h | 17 |
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 | */ |
1436 | struct cfg80211_ops { | 1439 | struct 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, | |||
3216 | bool cfg80211_rx_spurious_frame(struct net_device *dev, | 3222 | bool 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 | */ | ||
3233 | void 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 */ |