diff options
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r-- | include/net/mac80211.h | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 4a80d74975e8..bcd1623245cb 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -595,6 +595,15 @@ enum ieee80211_key_alg { | |||
595 | ALG_CCMP, | 595 | ALG_CCMP, |
596 | }; | 596 | }; |
597 | 597 | ||
598 | /** | ||
599 | * enum ieee80211_key_len - key length | ||
600 | * @WEP40: WEP 5 byte long key | ||
601 | * @WEP104: WEP 13 byte long key | ||
602 | */ | ||
603 | enum ieee80211_key_len { | ||
604 | LEN_WEP40 = 5, | ||
605 | LEN_WEP104 = 13, | ||
606 | }; | ||
598 | 607 | ||
599 | /** | 608 | /** |
600 | * enum ieee80211_key_flags - key flags | 609 | * enum ieee80211_key_flags - key flags |
@@ -1594,13 +1603,16 @@ void ieee80211_wake_queues(struct ieee80211_hw *hw); | |||
1594 | void ieee80211_scan_completed(struct ieee80211_hw *hw); | 1603 | void ieee80211_scan_completed(struct ieee80211_hw *hw); |
1595 | 1604 | ||
1596 | /** | 1605 | /** |
1597 | * ieee80211_iterate_active_interfaces - iterate active interfaces | 1606 | * ieee80211_iterate_active_interfaces- iterate active interfaces |
1598 | * | 1607 | * |
1599 | * This function iterates over the interfaces associated with a given | 1608 | * This function iterates over the interfaces associated with a given |
1600 | * hardware that are currently active and calls the callback for them. | 1609 | * hardware that are currently active and calls the callback for them. |
1610 | * This function allows the iterator function to sleep, when the iterator | ||
1611 | * function is atomic @ieee80211_iterate_active_interfaces_atomic can | ||
1612 | * be used. | ||
1601 | * | 1613 | * |
1602 | * @hw: the hardware struct of which the interfaces should be iterated over | 1614 | * @hw: the hardware struct of which the interfaces should be iterated over |
1603 | * @iterator: the iterator function to call, cannot sleep | 1615 | * @iterator: the iterator function to call |
1604 | * @data: first argument of the iterator function | 1616 | * @data: first argument of the iterator function |
1605 | */ | 1617 | */ |
1606 | void ieee80211_iterate_active_interfaces(struct ieee80211_hw *hw, | 1618 | void ieee80211_iterate_active_interfaces(struct ieee80211_hw *hw, |
@@ -1609,6 +1621,24 @@ void ieee80211_iterate_active_interfaces(struct ieee80211_hw *hw, | |||
1609 | void *data); | 1621 | void *data); |
1610 | 1622 | ||
1611 | /** | 1623 | /** |
1624 | * ieee80211_iterate_active_interfaces_atomic - iterate active interfaces | ||
1625 | * | ||
1626 | * This function iterates over the interfaces associated with a given | ||
1627 | * hardware that are currently active and calls the callback for them. | ||
1628 | * This function requires the iterator callback function to be atomic, | ||
1629 | * if that is not desired, use @ieee80211_iterate_active_interfaces instead. | ||
1630 | * | ||
1631 | * @hw: the hardware struct of which the interfaces should be iterated over | ||
1632 | * @iterator: the iterator function to call, cannot sleep | ||
1633 | * @data: first argument of the iterator function | ||
1634 | */ | ||
1635 | void ieee80211_iterate_active_interfaces_atomic(struct ieee80211_hw *hw, | ||
1636 | void (*iterator)(void *data, | ||
1637 | u8 *mac, | ||
1638 | struct ieee80211_vif *vif), | ||
1639 | void *data); | ||
1640 | |||
1641 | /** | ||
1612 | * ieee80211_start_tx_ba_session - Start a tx Block Ack session. | 1642 | * ieee80211_start_tx_ba_session - Start a tx Block Ack session. |
1613 | * @hw: pointer as obtained from ieee80211_alloc_hw(). | 1643 | * @hw: pointer as obtained from ieee80211_alloc_hw(). |
1614 | * @ra: receiver address of the BA session recipient | 1644 | * @ra: receiver address of the BA session recipient |