diff options
Diffstat (limited to 'include/net/cfg80211.h')
-rw-r--r-- | include/net/cfg80211.h | 26 |
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 | */ | ||
450 | struct 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 */ |
437 | struct wiphy; | 457 | struct 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 | */ |
505 | struct cfg80211_ops { | 527 | struct 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 */ |