<?xml version="1.0" encoding="ANSI_X3.4-1968" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968" /><title>enum mac80211_tx_control_flags</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1" /><link rel="home" href="index.html" title="The 802.11 subsystems – for kernel developers" /><link rel="up" href="bk02pt01ch04s05.html" title="functions/definitions" /><link rel="prev" href="API-enum-mac80211-rx-flags.html" title="enum mac80211_rx_flags" /><link rel="next" href="API-enum-mac80211-rate-control-flags.html" title="enum mac80211_rate_control_flags" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span>enum mac80211_tx_control_flags</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-enum-mac80211-rx-flags.html">Prev</a> </td><th width="60%" align="center">functions/definitions</th><td width="20%" align="right"> <a accesskey="n" href="API-enum-mac80211-rate-control-flags.html">Next</a></td></tr></table><hr /></div><div class="refentry" title="enum mac80211_tx_control_flags"><a id="API-enum-mac80211-tx-control-flags"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>enum mac80211_tx_control_flags — flags to describe transmission information/status </p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><pre class="programlisting"> enum mac80211_tx_control_flags { IEEE80211_TX_CTL_REQ_TX_STATUS, IEEE80211_TX_CTL_ASSIGN_SEQ, IEEE80211_TX_CTL_NO_ACK, IEEE80211_TX_CTL_CLEAR_PS_FILT, IEEE80211_TX_CTL_FIRST_FRAGMENT, IEEE80211_TX_CTL_SEND_AFTER_DTIM, IEEE80211_TX_CTL_AMPDU, IEEE80211_TX_CTL_INJECTED, IEEE80211_TX_STAT_TX_FILTERED, IEEE80211_TX_STAT_ACK, IEEE80211_TX_STAT_AMPDU, IEEE80211_TX_STAT_AMPDU_NO_BACK, IEEE80211_TX_CTL_RATE_CTRL_PROBE, IEEE80211_TX_INTFL_NEED_TXPROCESSING, IEEE80211_TX_INTFL_RETRIED, IEEE80211_TX_INTFL_DONT_ENCRYPT, IEEE80211_TX_CTL_PSPOLL_RESPONSE, IEEE80211_TX_CTL_MORE_FRAMES, IEEE80211_TX_INTFL_RETRANSMISSION, IEEE80211_TX_INTFL_HAS_RADIOTAP, IEEE80211_TX_INTFL_NL80211_FRAME_TX, IEEE80211_TX_CTL_LDPC, IEEE80211_TX_CTL_STBC, IEEE80211_TX_CTL_TX_OFFCHAN }; </pre></div><div class="refsect1" title="Constants"><a id="id3048519"></a><h2>Constants</h2><div class="variablelist"><dl><dt><span class="term">IEEE80211_TX_CTL_REQ_TX_STATUS</span></dt><dd><p> require TX status callback for this frame. </p></dd><dt><span class="term">IEEE80211_TX_CTL_ASSIGN_SEQ</span></dt><dd><p> The driver has to assign a sequence number to this frame, taking care of not overwriting the fragment number and increasing the sequence number only when the IEEE80211_TX_CTL_FIRST_FRAGMENT flag is set. mac80211 will properly assign sequence numbers to QoS-data frames but cannot do so correctly for non-QoS-data and management frames because beacons need them from that counter as well and mac80211 cannot guarantee proper sequencing. If this flag is set, the driver should instruct the hardware to assign a sequence number to the frame or assign one itself. Cf. IEEE 802.11-2007 7.1.3.4.1 paragraph 3. This flag will always be set for beacons and always be clear for frames without a sequence number field. </p></dd><dt><span class="term">IEEE80211_TX_CTL_NO_ACK</span></dt><dd><p> tell the low level not to wait for an ack </p></dd><dt><span class="term">IEEE80211_TX_CTL_CLEAR_PS_FILT</span></dt><dd><p> clear powersave filter for destination station </p></dd><dt><span class="term">IEEE80211_TX_CTL_FIRST_FRAGMENT</span></dt><dd><p> this is a first fragment of the frame </p></dd><dt><span class="term">IEEE80211_TX_CTL_SEND_AFTER_DTIM</span></dt><dd><p> send this frame after DTIM beacon </p></dd><dt><span class="term">IEEE80211_TX_CTL_AMPDU</span></dt><dd><p> this frame should be sent as part of an A-MPDU </p></dd><dt><span class="term">IEEE80211_TX_CTL_INJECTED</span></dt><dd><p> Frame was injected, internal to mac80211. </p></dd><dt><span class="term">IEEE80211_TX_STAT_TX_FILTERED</span></dt><dd><p> The frame was not transmitted because the destination STA was in powersave mode. Note that to avoid race conditions, the filter must be set by the hardware or firmware upon receiving a frame that indicates that the station went to sleep (must be done on device to filter frames already on the queue) and may only be unset after mac80211 gives the OK for that by setting the IEEE80211_TX_CTL_CLEAR_PS_FILT (see above), since only then is it guaranteed that no more frames are in the hardware queue. </p></dd><dt><span class="term">IEEE80211_TX_STAT_ACK</span></dt><dd><p> Frame was acknowledged </p></dd><dt><span class="term">IEEE80211_TX_STAT_AMPDU</span></dt><dd><p> The frame was aggregated, so status is for the whole aggregation. </p></dd><dt><span class="term">IEEE80211_TX_STAT_AMPDU_NO_BACK</span></dt><dd><p> no block ack was returned, so consider using block ack request (BAR). </p></dd><dt><span class="term">IEEE80211_TX_CTL_RATE_CTRL_PROBE</span></dt><dd><p> internal to mac80211, can be set by rate control algorithms to indicate probe rate, will be cleared for fragmented frames (except on the last fragment) </p></dd><dt><span class="term">IEEE80211_TX_INTFL_NEED_TXPROCESSING</span></dt><dd><p> completely internal to mac80211, used to indicate that a pending frame requires TX processing before it can be sent out. </p></dd><dt><span class="term">IEEE80211_TX_INTFL_RETRIED</span></dt><dd><p> completely internal to mac80211, used to indicate that a frame was already retried due to PS </p></dd><dt><span class="term">IEEE80211_TX_INTFL_DONT_ENCRYPT</span></dt><dd><p> completely internal to mac80211, used to indicate frame should not be encrypted </p></dd><dt><span class="term">IEEE80211_TX_CTL_PSPOLL_RESPONSE</span></dt><dd><p> (internal?) This frame is a response to a PS-poll frame and should be sent although the station is in powersave mode. </p></dd><dt><span class="term">IEEE80211_TX_CTL_MORE_FRAMES</span></dt><dd><p> More frames will be passed to the transmit function after the current frame, this can be used by drivers to kick the DMA queue only if unset or when the queue gets full. </p></dd><dt><span class="term">IEEE80211_TX_INTFL_RETRANSMISSION</span></dt><dd><p> This frame is being retransmitted after TX status because the destination was asleep, it must not be modified again (no seqno assignment, crypto, etc.) </p></dd><dt><span class="term">IEEE80211_TX_INTFL_HAS_RADIOTAP</span></dt><dd><p> This frame was injected and still has a radiotap header at skb->data. </p></dd><dt><span class="term">IEEE80211_TX_INTFL_NL80211_FRAME_TX</span></dt><dd><p> Frame was requested through nl80211 MLME command (internal to mac80211 to figure out whether to send TX status to user space) </p></dd><dt><span class="term">IEEE80211_TX_CTL_LDPC</span></dt><dd><p> tells the driver to use LDPC for this frame </p></dd><dt><span class="term">IEEE80211_TX_CTL_STBC</span></dt><dd><p> Enables Space-Time Block Coding (STBC) for this frame and selects the maximum number of streams that it can use. </p></dd><dt><span class="term">IEEE80211_TX_CTL_TX_OFFCHAN</span></dt><dd><p> Marks this packet to be transmitted on the off-channel channel when a remain-on-channel offload is done in hardware -- normal packets still flow and are expected to be handled properly by the device. </p></dd></dl></div></div><div class="refsect1" title="Description"><a id="id3048858"></a><h2>Description</h2><p> </p><p> These flags are used with the <em class="parameter"><code>flags</code></em> member of <span class="structname">ieee80211_tx_info</span>. </p></div><div class="refsect1" title="Note"><a id="id3048880"></a><h2>Note</h2><p> If you have to add new flags to the enumeration, then don't forget to update <code class="constant">IEEE80211_TX_TEMPORARY_FLAGS</code> when necessary. </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-enum-mac80211-rx-flags.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk02pt01ch04s05.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-enum-mac80211-rate-control-flags.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span>enum mac80211_rx_flags</span> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span>enum mac80211_rate_control_flags</span></td></tr></table></div></body></html>