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 &#8211; 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>&#160;</td><th width="60%" align="center">functions/definitions</th><td width="20%" align="right">&#160;<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 &#8212; 
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>&#160;</td><td width="20%" align="center"><a accesskey="u" href="bk02pt01ch04s05.html">Up</a></td><td width="40%" align="right">&#160;<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>&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;<span class="phrase">enum mac80211_tx_control_flags</span></td></tr></table></div></body></html>
166