diff options
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r-- | include/net/mac80211.h | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 8fcd1691cfb7..2b072fa99399 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -599,9 +599,10 @@ ieee80211_tx_info_clear_status(struct ieee80211_tx_info *info) | |||
599 | * the frame. | 599 | * the frame. |
600 | * @RX_FLAG_FAILED_PLCP_CRC: Set this flag if the PCLP check failed on | 600 | * @RX_FLAG_FAILED_PLCP_CRC: Set this flag if the PCLP check failed on |
601 | * the frame. | 601 | * the frame. |
602 | * @RX_FLAG_TSFT: The timestamp passed in the RX status (@mactime field) | 602 | * @RX_FLAG_MACTIME_MPDU: The timestamp passed in the RX status (@mactime |
603 | * is valid. This is useful in monitor mode and necessary for beacon frames | 603 | * field) is valid and contains the time the first symbol of the MPDU |
604 | * to enable IBSS merging. | 604 | * was received. This is useful in monitor mode and for proper IBSS |
605 | * merging. | ||
605 | * @RX_FLAG_SHORTPRE: Short preamble was used for this frame | 606 | * @RX_FLAG_SHORTPRE: Short preamble was used for this frame |
606 | * @RX_FLAG_HT: HT MCS was used and rate_idx is MCS index | 607 | * @RX_FLAG_HT: HT MCS was used and rate_idx is MCS index |
607 | * @RX_FLAG_40MHZ: HT40 (40 MHz) was used | 608 | * @RX_FLAG_40MHZ: HT40 (40 MHz) was used |
@@ -614,7 +615,7 @@ enum mac80211_rx_flags { | |||
614 | RX_FLAG_IV_STRIPPED = 1<<4, | 615 | RX_FLAG_IV_STRIPPED = 1<<4, |
615 | RX_FLAG_FAILED_FCS_CRC = 1<<5, | 616 | RX_FLAG_FAILED_FCS_CRC = 1<<5, |
616 | RX_FLAG_FAILED_PLCP_CRC = 1<<6, | 617 | RX_FLAG_FAILED_PLCP_CRC = 1<<6, |
617 | RX_FLAG_TSFT = 1<<7, | 618 | RX_FLAG_MACTIME_MPDU = 1<<7, |
618 | RX_FLAG_SHORTPRE = 1<<8, | 619 | RX_FLAG_SHORTPRE = 1<<8, |
619 | RX_FLAG_HT = 1<<9, | 620 | RX_FLAG_HT = 1<<9, |
620 | RX_FLAG_40MHZ = 1<<10, | 621 | RX_FLAG_40MHZ = 1<<10, |
@@ -1798,9 +1799,14 @@ enum ieee80211_ampdu_mlme_action { | |||
1798 | * ieee80211_remain_on_channel_expired(). This callback may sleep. | 1799 | * ieee80211_remain_on_channel_expired(). This callback may sleep. |
1799 | * @cancel_remain_on_channel: Requests that an ongoing off-channel period is | 1800 | * @cancel_remain_on_channel: Requests that an ongoing off-channel period is |
1800 | * aborted before it expires. This callback may sleep. | 1801 | * aborted before it expires. This callback may sleep. |
1802 | * @offchannel_tx: Transmit frame on another channel, wait for a response | ||
1803 | * and return. Reliable TX status must be reported for the frame. If the | ||
1804 | * return value is 1, then the @remain_on_channel will be used with a | ||
1805 | * regular transmission (if supported.) | ||
1806 | * @offchannel_tx_cancel_wait: cancel wait associated with offchannel TX | ||
1801 | */ | 1807 | */ |
1802 | struct ieee80211_ops { | 1808 | struct ieee80211_ops { |
1803 | int (*tx)(struct ieee80211_hw *hw, struct sk_buff *skb); | 1809 | void (*tx)(struct ieee80211_hw *hw, struct sk_buff *skb); |
1804 | int (*start)(struct ieee80211_hw *hw); | 1810 | int (*start)(struct ieee80211_hw *hw); |
1805 | void (*stop)(struct ieee80211_hw *hw); | 1811 | void (*stop)(struct ieee80211_hw *hw); |
1806 | int (*add_interface)(struct ieee80211_hw *hw, | 1812 | int (*add_interface)(struct ieee80211_hw *hw, |
@@ -1877,6 +1883,11 @@ struct ieee80211_ops { | |||
1877 | enum nl80211_channel_type channel_type, | 1883 | enum nl80211_channel_type channel_type, |
1878 | int duration); | 1884 | int duration); |
1879 | int (*cancel_remain_on_channel)(struct ieee80211_hw *hw); | 1885 | int (*cancel_remain_on_channel)(struct ieee80211_hw *hw); |
1886 | int (*offchannel_tx)(struct ieee80211_hw *hw, struct sk_buff *skb, | ||
1887 | struct ieee80211_channel *chan, | ||
1888 | enum nl80211_channel_type channel_type, | ||
1889 | unsigned int wait); | ||
1890 | int (*offchannel_tx_cancel_wait)(struct ieee80211_hw *hw); | ||
1880 | }; | 1891 | }; |
1881 | 1892 | ||
1882 | /** | 1893 | /** |