Name

ieee80211_get_buffered_bc — accessing buffered broadcast and multicast frames

Synopsis

struct sk_buff * ieee80211_get_buffered_bc (struct ieee80211_hw *  hw,
 struct ieee80211_vif *  vif,
 struct ieee80211_tx_control *  control);

Arguments

hw

pointer as obtained from ieee80211_alloc_hw.

vif

struct ieee80211_vif pointer from struct ieee80211_if_init_conf.

control

will be filled with information needed to send returned frame.

Description

Function for accessing buffered broadcast and multicast frames. If hardware/firmware does not implement buffering of broadcast/multicast frames when power saving is used, 802.11 code buffers them in the host memory. The low-level driver uses this function to fetch next buffered frame. In most cases, this is used when generating beacon frame. This function returns a pointer to the next buffered skb or NULL if no more buffered frames are available.

Note

buffered frames are returned only after DTIM beacon frame was generated with ieee80211_beacon_get and the low-level driver must thus call ieee80211_beacon_get first. ieee80211_get_buffered_bc returns NULL if the previous generated beacon was not DTIM, so the low-level driver does not need to check for DTIM beacons separately and should be able to use common code for all beacons.