aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/cfg80211.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/cfg80211.h')
-rw-r--r--include/net/cfg80211.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index df78abc496f1..c7da88fb15b7 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -433,6 +433,26 @@ struct ieee80211_txq_params {
433 u8 aifs; 433 u8 aifs;
434}; 434};
435 435
436/**
437 * struct mgmt_extra_ie_params - Extra management frame IE parameters
438 *
439 * Used to add extra IE(s) into management frames. If the driver cannot add the
440 * requested data into all management frames of the specified subtype that are
441 * generated in kernel or firmware/hardware, it must reject the configuration
442 * call. The IE data buffer is added to the end of the specified management
443 * frame body after all other IEs. This addition is not applied to frames that
444 * are injected through a monitor interface.
445 *
446 * @subtype: Management frame subtype
447 * @ies: IE data buffer or %NULL to remove previous data
448 * @ies_len: Length of @ies in octets
449 */
450struct mgmt_extra_ie_params {
451 u8 subtype;
452 u8 *ies;
453 int ies_len;
454};
455
436/* from net/wireless.h */ 456/* from net/wireless.h */
437struct wiphy; 457struct wiphy;
438 458
@@ -501,6 +521,8 @@ struct ieee80211_channel;
501 * @set_txq_params: Set TX queue parameters 521 * @set_txq_params: Set TX queue parameters
502 * 522 *
503 * @set_channel: Set channel 523 * @set_channel: Set channel
524 *
525 * @set_mgmt_extra_ie: Set extra IE data for management frames
504 */ 526 */
505struct cfg80211_ops { 527struct cfg80211_ops {
506 int (*add_virtual_intf)(struct wiphy *wiphy, char *name, 528 int (*add_virtual_intf)(struct wiphy *wiphy, char *name,
@@ -571,6 +593,10 @@ struct cfg80211_ops {
571 int (*set_channel)(struct wiphy *wiphy, 593 int (*set_channel)(struct wiphy *wiphy,
572 struct ieee80211_channel *chan, 594 struct ieee80211_channel *chan,
573 enum nl80211_channel_type channel_type); 595 enum nl80211_channel_type channel_type);
596
597 int (*set_mgmt_extra_ie)(struct wiphy *wiphy,
598 struct net_device *dev,
599 struct mgmt_extra_ie_params *params);
574}; 600};
575 601
576/* temporary wext handlers */ 602/* temporary wext handlers */