1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>enum mac80211_tx_info_flags</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.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-tx-control-flags.html" title="enum mac80211_tx_control_flags"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="phrase">enum mac80211_tx_info_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-tx-control-flags.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-enum-mac80211-tx-info-flags"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>enum mac80211_tx_info_flags — 2 flags to describe transmission information/status 3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="programlisting"> 4enum mac80211_tx_info_flags { 5 IEEE80211_TX_CTL_REQ_TX_STATUS, 6 IEEE80211_TX_CTL_ASSIGN_SEQ, 7 IEEE80211_TX_CTL_NO_ACK, 8 IEEE80211_TX_CTL_CLEAR_PS_FILT, 9 IEEE80211_TX_CTL_FIRST_FRAGMENT, 10 IEEE80211_TX_CTL_SEND_AFTER_DTIM, 11 IEEE80211_TX_CTL_AMPDU, 12 IEEE80211_TX_CTL_INJECTED, 13 IEEE80211_TX_STAT_TX_FILTERED, 14 IEEE80211_TX_STAT_ACK, 15 IEEE80211_TX_STAT_AMPDU, 16 IEEE80211_TX_STAT_AMPDU_NO_BACK, 17 IEEE80211_TX_CTL_RATE_CTRL_PROBE, 18 IEEE80211_TX_INTFL_OFFCHAN_TX_OK, 19 IEEE80211_TX_INTFL_NEED_TXPROCESSING, 20 IEEE80211_TX_INTFL_RETRIED, 21 IEEE80211_TX_INTFL_DONT_ENCRYPT, 22 IEEE80211_TX_CTL_NO_PS_BUFFER, 23 IEEE80211_TX_CTL_MORE_FRAMES, 24 IEEE80211_TX_INTFL_RETRANSMISSION, 25 IEEE80211_TX_INTFL_MLME_CONN_TX, 26 IEEE80211_TX_INTFL_NL80211_FRAME_TX, 27 IEEE80211_TX_CTL_LDPC, 28 IEEE80211_TX_CTL_STBC, 29 IEEE80211_TX_CTL_TX_OFFCHAN, 30 IEEE80211_TX_INTFL_TKIP_MIC_FAILURE, 31 IEEE80211_TX_CTL_NO_CCK_RATE, 32 IEEE80211_TX_STATUS_EOSP, 33 IEEE80211_TX_CTL_USE_MINRATE, 34 IEEE80211_TX_CTL_DONTFRAG, 35 IEEE80211_TX_STAT_NOACK_TRANSMITTED 36}; </pre></div><div class="refsect1"><a name="idp1113636748"></a><h2>Constants</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term">IEEE80211_TX_CTL_REQ_TX_STATUS</span></dt><dd><p> 37require TX status callback for this frame. 38 </p></dd><dt><span class="term">IEEE80211_TX_CTL_ASSIGN_SEQ</span></dt><dd><p> 39The driver has to assign a sequence 40number to this frame, taking care of not overwriting the fragment 41number and increasing the sequence number only when the 42IEEE80211_TX_CTL_FIRST_FRAGMENT flag is set. mac80211 will properly 43assign sequence numbers to QoS-data frames but cannot do so correctly 44for non-QoS-data and management frames because beacons need them from 45that counter as well and mac80211 cannot guarantee proper sequencing. 46If this flag is set, the driver should instruct the hardware to 47assign a sequence number to the frame or assign one itself. Cf. IEEE 48802.11-2007 7.1.3.4.1 paragraph 3. This flag will always be set for 49beacons and always be clear for frames without a sequence number field. 50 </p></dd><dt><span class="term">IEEE80211_TX_CTL_NO_ACK</span></dt><dd><p> 51tell the low level not to wait for an ack 52 </p></dd><dt><span class="term">IEEE80211_TX_CTL_CLEAR_PS_FILT</span></dt><dd><p> 53clear powersave filter for destination 54station 55 </p></dd><dt><span class="term">IEEE80211_TX_CTL_FIRST_FRAGMENT</span></dt><dd><p> 56this is a first fragment of the frame 57 </p></dd><dt><span class="term">IEEE80211_TX_CTL_SEND_AFTER_DTIM</span></dt><dd><p> 58send this frame after DTIM beacon 59 </p></dd><dt><span class="term">IEEE80211_TX_CTL_AMPDU</span></dt><dd><p> 60this frame should be sent as part of an A-MPDU 61 </p></dd><dt><span class="term">IEEE80211_TX_CTL_INJECTED</span></dt><dd><p> 62Frame was injected, internal to mac80211. 63 </p></dd><dt><span class="term">IEEE80211_TX_STAT_TX_FILTERED</span></dt><dd><p> 64The frame was not transmitted 65because the destination STA was in powersave mode. Note that to 66avoid race conditions, the filter must be set by the hardware or 67firmware upon receiving a frame that indicates that the station 68went to sleep (must be done on device to filter frames already on 69the queue) and may only be unset after mac80211 gives the OK for 70that by setting the IEEE80211_TX_CTL_CLEAR_PS_FILT (see above), 71since only then is it guaranteed that no more frames are in the 72hardware queue. 73 </p></dd><dt><span class="term">IEEE80211_TX_STAT_ACK</span></dt><dd><p> 74Frame was acknowledged 75 </p></dd><dt><span class="term">IEEE80211_TX_STAT_AMPDU</span></dt><dd><p> 76The frame was aggregated, so status 77is for the whole aggregation. 78 </p></dd><dt><span class="term">IEEE80211_TX_STAT_AMPDU_NO_BACK</span></dt><dd><p> 79no block ack was returned, 80so consider using block ack request (BAR). 81 </p></dd><dt><span class="term">IEEE80211_TX_CTL_RATE_CTRL_PROBE</span></dt><dd><p> 82internal to mac80211, can be 83set by rate control algorithms to indicate probe rate, will 84be cleared for fragmented frames (except on the last fragment) 85 </p></dd><dt><span class="term">IEEE80211_TX_INTFL_OFFCHAN_TX_OK</span></dt><dd><p> 86Internal to mac80211. Used to indicate 87that a frame can be transmitted while the queues are stopped for 88off-channel operation. 89 </p></dd><dt><span class="term">IEEE80211_TX_INTFL_NEED_TXPROCESSING</span></dt><dd><p> 90completely internal to mac80211, 91used to indicate that a pending frame requires TX processing before 92it can be sent out. 93 </p></dd><dt><span class="term">IEEE80211_TX_INTFL_RETRIED</span></dt><dd><p> 94completely internal to mac80211, 95used to indicate that a frame was already retried due to PS 96 </p></dd><dt><span class="term">IEEE80211_TX_INTFL_DONT_ENCRYPT</span></dt><dd><p> 97completely internal to mac80211, 98used to indicate frame should not be encrypted 99 </p></dd><dt><span class="term">IEEE80211_TX_CTL_NO_PS_BUFFER</span></dt><dd><p> 100This frame is a response to a poll 101frame (PS-Poll or uAPSD) or a non-bufferable MMPDU and must 102be sent although the station is in powersave mode. 103 </p></dd><dt><span class="term">IEEE80211_TX_CTL_MORE_FRAMES</span></dt><dd><p> 104More frames will be passed to the 105transmit function after the current frame, this can be used 106by drivers to kick the DMA queue only if unset or when the 107queue gets full. 108 </p></dd><dt><span class="term">IEEE80211_TX_INTFL_RETRANSMISSION</span></dt><dd><p> 109This frame is being retransmitted 110after TX status because the destination was asleep, it must not 111be modified again (no seqno assignment, crypto, etc.) 112 </p></dd><dt><span class="term">IEEE80211_TX_INTFL_MLME_CONN_TX</span></dt><dd><p> 113This frame was transmitted by the MLME 114code for connection establishment, this indicates that its status 115should kick the MLME state machine. 116 </p></dd><dt><span class="term">IEEE80211_TX_INTFL_NL80211_FRAME_TX</span></dt><dd><p> 117Frame was requested through nl80211 118MLME command (internal to mac80211 to figure out whether to send TX 119status to user space) 120 </p></dd><dt><span class="term">IEEE80211_TX_CTL_LDPC</span></dt><dd><p> 121tells the driver to use LDPC for this frame 122 </p></dd><dt><span class="term">IEEE80211_TX_CTL_STBC</span></dt><dd><p> 123Enables Space-Time Block Coding (STBC) for this 124frame and selects the maximum number of streams that it can use. 125 </p></dd><dt><span class="term">IEEE80211_TX_CTL_TX_OFFCHAN</span></dt><dd><p> 126Marks this packet to be transmitted on 127the off-channel channel when a remain-on-channel offload is done 128in hardware -- normal packets still flow and are expected to be 129handled properly by the device. 130 </p></dd><dt><span class="term">IEEE80211_TX_INTFL_TKIP_MIC_FAILURE</span></dt><dd><p> 131Marks this packet to be used for TKIP 132testing. It will be sent out with incorrect Michael MIC key to allow 133TKIP countermeasures to be tested. 134 </p></dd><dt><span class="term">IEEE80211_TX_CTL_NO_CCK_RATE</span></dt><dd><p> 135This frame will be sent at non CCK rate. 136This flag is actually used for management frame especially for P2P 137frames not being sent at CCK rate in 2GHz band. 138 </p></dd><dt><span class="term">IEEE80211_TX_STATUS_EOSP</span></dt><dd><p> 139This packet marks the end of service period, 140when its status is reported the service period ends. For frames in 141an SP that mac80211 transmits, it is already set; for driver frames 142the driver may set this flag. It is also used to do the same for 143PS-Poll responses. 144 </p></dd><dt><span class="term">IEEE80211_TX_CTL_USE_MINRATE</span></dt><dd><p> 145This frame will be sent at lowest rate. 146This flag is used to send nullfunc frame at minimum rate when 147the nullfunc is used for connection monitoring purpose. 148 </p></dd><dt><span class="term">IEEE80211_TX_CTL_DONTFRAG</span></dt><dd><p> 149Don't fragment this packet even if it 150would be fragmented by size (this is optional, only used for 151monitor injection). 152 </p></dd><dt><span class="term">IEEE80211_TX_STAT_NOACK_TRANSMITTED</span></dt><dd><p> 153A frame that was marked with 154IEEE80211_TX_CTL_NO_ACK has been successfully transmitted without 155any errors (like issues specific to the driver/HW). 156This flag must not be set for frames that don't request no-ack 157behaviour with IEEE80211_TX_CTL_NO_ACK. 158 </p></dd></dl></div></div><div class="refsect1"><a name="idp1113663220"></a><h2>Description</h2><p> 159 </p><p> 160 161 These flags are used with the <em class="parameter"><code>flags</code></em> member of <span class="structname">ieee80211_tx_info</span>. 162</p></div><div class="refsect1"><a name="idp1113664540"></a><h2>Note</h2><p> 163 If you have to add new flags to the enumeration, then don't 164 forget to update <code class="constant">IEEE80211_TX_TEMPORARY_FLAGS</code> when necessary. 165</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-tx-control-flags.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">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 class="phrase">enum mac80211_tx_control_flags</span></td></tr></table></div></body></html> 166