aboutsummaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2010-11-25 04:02:29 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-11-29 15:24:35 -0500
commitf7ca38dfe58c20cb1aa2ed9643187e8b194b5bae (patch)
tree42db54588fd5fa769a16def75708117903577b40 /include/net
parent9a67d761b39614c0495dcab9a204e21a9f4c4d31 (diff)
nl80211/cfg80211: extend mgmt-tx API for off-channel
With p2p, it is sometimes necessary to transmit a frame (typically an action frame) on another channel than the current channel. Enable this through the CMD_FRAME API, and allow it to wait for a response. A new command allows that wait to be aborted. However, allow userspace to specify whether or not it wants to allow off-channel TX, it may actually want to use the same channel only. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/net')
-rw-r--r--include/net/cfg80211.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 0663945cfa48..49a7c53a48ca 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -1134,7 +1134,9 @@ struct cfg80211_pmksa {
1134 * @cancel_remain_on_channel: Cancel an on-going remain-on-channel operation. 1134 * @cancel_remain_on_channel: Cancel an on-going remain-on-channel operation.
1135 * This allows the operation to be terminated prior to timeout based on 1135 * This allows the operation to be terminated prior to timeout based on
1136 * the duration value. 1136 * the duration value.
1137 * @mgmt_tx: Transmit a management frame 1137 * @mgmt_tx: Transmit a management frame.
1138 * @mgmt_tx_cancel_wait: Cancel the wait time from transmitting a management
1139 * frame on another channel
1138 * 1140 *
1139 * @testmode_cmd: run a test mode command 1141 * @testmode_cmd: run a test mode command
1140 * 1142 *
@@ -1291,10 +1293,13 @@ struct cfg80211_ops {
1291 u64 cookie); 1293 u64 cookie);
1292 1294
1293 int (*mgmt_tx)(struct wiphy *wiphy, struct net_device *dev, 1295 int (*mgmt_tx)(struct wiphy *wiphy, struct net_device *dev,
1294 struct ieee80211_channel *chan, 1296 struct ieee80211_channel *chan, bool offchan,
1295 enum nl80211_channel_type channel_type, 1297 enum nl80211_channel_type channel_type,
1296 bool channel_type_valid, 1298 bool channel_type_valid, unsigned int wait,
1297 const u8 *buf, size_t len, u64 *cookie); 1299 const u8 *buf, size_t len, u64 *cookie);
1300 int (*mgmt_tx_cancel_wait)(struct wiphy *wiphy,
1301 struct net_device *dev,
1302 u64 cookie);
1298 1303
1299 int (*set_power_mgmt)(struct wiphy *wiphy, struct net_device *dev, 1304 int (*set_power_mgmt)(struct wiphy *wiphy, struct net_device *dev,
1300 bool enabled, int timeout); 1305 bool enabled, int timeout);