1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>struct ieee80211_hw</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="basics.html" title="Chapter 1. Basic hardware handling"><link rel="prev" href="basics.html" title="Chapter 1. Basic hardware handling"><link rel="next" href="API-enum-ieee80211-hw-flags.html" title="enum ieee80211_hw_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">struct ieee80211_hw</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="basics.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Basic hardware handling</th><td width="20%" align="right"> <a accesskey="n" href="API-enum-ieee80211-hw-flags.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-struct-ieee80211-hw"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>struct ieee80211_hw — 2 hardware information and state 3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="programlisting"> 4struct ieee80211_hw { 5 struct ieee80211_conf conf; 6 struct wiphy * wiphy; 7 const char * rate_control_algorithm; 8 void * priv; 9 u32 flags; 10 unsigned int extra_tx_headroom; 11 unsigned int extra_beacon_tailroom; 12 int vif_data_size; 13 int sta_data_size; 14 int chanctx_data_size; 15 int txq_data_size; 16 u16 queues; 17 u16 max_listen_interval; 18 s8 max_signal; 19 u8 max_rates; 20 u8 max_report_rates; 21 u8 max_rate_tries; 22 u8 max_rx_aggregation_subframes; 23 u8 max_tx_aggregation_subframes; 24 u8 offchannel_tx_hw_queue; 25 u8 radiotap_mcs_details; 26 u16 radiotap_vht_details; 27 netdev_features_t netdev_features; 28 u8 uapsd_queues; 29 u8 uapsd_max_sp_len; 30 u8 n_cipher_schemes; 31 const struct ieee80211_cipher_scheme * cipher_schemes; 32 int txq_ac_max_pending; 33}; </pre></div><div class="refsect1"><a name="idp1113295108"></a><h2>Members</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term">conf</span></dt><dd><p> 34<span class="structname">struct ieee80211_conf</span>, device configuration, don't use. 35 </p></dd><dt><span class="term">wiphy</span></dt><dd><p> 36This points to the <span class="structname">struct wiphy</span> allocated for this 37802.11 PHY. You must fill in the <em class="parameter"><code>perm_addr</code></em> and <em class="parameter"><code>dev</code></em> 38members of this structure using <code class="function">SET_IEEE80211_DEV</code> 39and <code class="function">SET_IEEE80211_PERM_ADDR</code>. Additionally, all supported 40bands (with channels, bitrates) are registered here. 41 </p></dd><dt><span class="term">rate_control_algorithm</span></dt><dd><p> 42rate control algorithm for this hardware. 43If unset (NULL), the default algorithm will be used. Must be 44set before calling <code class="function">ieee80211_register_hw</code>. 45 </p></dd><dt><span class="term">priv</span></dt><dd><p> 46pointer to private area that was allocated for driver use 47along with this structure. 48 </p></dd><dt><span class="term">flags</span></dt><dd><p> 49hardware flags, see <span class="structname">enum</span> ieee80211_hw_flags. 50 </p></dd><dt><span class="term">extra_tx_headroom</span></dt><dd><p> 51headroom to reserve in each transmit skb 52for use by the driver (e.g. for transmit headers.) 53 </p></dd><dt><span class="term">extra_beacon_tailroom</span></dt><dd><p> 54tailroom to reserve in each beacon tx skb. 55Can be used by drivers to add extra IEs. 56 </p></dd><dt><span class="term">vif_data_size</span></dt><dd><p> 57size (in bytes) of the drv_priv data area 58within <span class="structname">struct ieee80211_vif</span>. 59 </p></dd><dt><span class="term">sta_data_size</span></dt><dd><p> 60size (in bytes) of the drv_priv data area 61within <span class="structname">struct ieee80211_sta</span>. 62 </p></dd><dt><span class="term">chanctx_data_size</span></dt><dd><p> 63size (in bytes) of the drv_priv data area 64within <span class="structname">struct ieee80211_chanctx_conf</span>. 65 </p></dd><dt><span class="term">txq_data_size</span></dt><dd><p> 66size (in bytes) of the drv_priv data area 67within <em class="parameter"><code>struct</code></em> ieee80211_txq. 68 </p></dd><dt><span class="term">queues</span></dt><dd><p> 69number of available hardware transmit queues for 70data packets. WMM/QoS requires at least four, these 71queues need to have configurable access parameters. 72 </p></dd><dt><span class="term">max_listen_interval</span></dt><dd><p> 73max listen interval in units of beacon interval 74that HW supports 75 </p></dd><dt><span class="term">max_signal</span></dt><dd><p> 76Maximum value for signal (rssi) in RX information, used 77only when <em class="parameter"><code>IEEE80211_HW_SIGNAL_UNSPEC</code></em> or <em class="parameter"><code>IEEE80211_HW_SIGNAL_DB</code></em> 78 </p></dd><dt><span class="term">max_rates</span></dt><dd><p> 79maximum number of alternate rate retry stages the hw 80can handle. 81 </p></dd><dt><span class="term">max_report_rates</span></dt><dd><p> 82maximum number of alternate rate retry stages 83the hw can report back. 84 </p></dd><dt><span class="term">max_rate_tries</span></dt><dd><p> 85maximum number of tries for each stage 86 </p></dd><dt><span class="term">max_rx_aggregation_subframes</span></dt><dd><p> 87maximum buffer size (number of 88sub-frames) to be used for A-MPDU block ack receiver 89aggregation. 90This is only relevant if the device has restrictions on the 91number of subframes, if it relies on mac80211 to do reordering 92it shouldn't be set. 93 </p></dd><dt><span class="term">max_tx_aggregation_subframes</span></dt><dd><p> 94maximum number of subframes in an 95aggregate an HT driver will transmit, used by the peer as a 96hint to size its reorder buffer. 97 </p></dd><dt><span class="term">offchannel_tx_hw_queue</span></dt><dd><p> 98HW queue ID to use for offchannel TX 99(if <code class="constant">IEEE80211_HW_QUEUE_CONTROL</code> is set) 100 </p></dd><dt><span class="term">radiotap_mcs_details</span></dt><dd><p> 101lists which MCS information can the HW 102reports, by default it is set to _MCS, _GI and _BW but doesn't 103include _FMT. Use <code class="constant">IEEE80211_RADIOTAP_MCS_HAVE_</code>* values, only 104adding _BW is supported today. 105 </p></dd><dt><span class="term">radiotap_vht_details</span></dt><dd><p> 106lists which VHT MCS information the HW reports, 107the default is _GI | _BANDWIDTH. 108Use the <code class="constant">IEEE80211_RADIOTAP_VHT_KNOWN_</code>* values. 109 </p></dd><dt><span class="term">netdev_features</span></dt><dd><p> 110netdev features to be set in each netdev created 111from this HW. Note only HW checksum features are currently 112compatible with mac80211. Other feature bits will be rejected. 113 </p></dd><dt><span class="term">uapsd_queues</span></dt><dd><p> 114This bitmap is included in (re)association frame to indicate 115for each access category if it is uAPSD trigger-enabled and delivery- 116enabled. Use IEEE80211_WMM_IE_STA_QOSINFO_AC_* to set this bitmap. 117Each bit corresponds to different AC. Value '1' in specific bit means 118that corresponding AC is both trigger- and delivery-enabled. '0' means 119neither enabled. 120 </p></dd><dt><span class="term">uapsd_max_sp_len</span></dt><dd><p> 121maximum number of total buffered frames the WMM AP may 122deliver to a WMM STA during any Service Period triggered by the WMM STA. 123Use IEEE80211_WMM_IE_STA_QOSINFO_SP_* for correct values. 124 </p></dd><dt><span class="term">n_cipher_schemes</span></dt><dd><p> 125a size of an array of cipher schemes definitions. 126 </p></dd><dt><span class="term">cipher_schemes</span></dt><dd><p> 127a pointer to an array of cipher scheme definitions 128supported by HW. 129 </p></dd><dt><span class="term">txq_ac_max_pending</span></dt><dd><p> 130maximum number of frames per AC pending in all txq 131entries for a vif. 132 </p></dd></dl></div></div><div class="refsect1"><a name="idp1113322652"></a><h2>Description</h2><p> 133 </p><p> 134 135 This structure contains the configuration and hardware 136 information for an 802.11 PHY. 137</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="basics.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="basics.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-enum-ieee80211-hw-flags.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 1. Basic hardware handling </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 ieee80211_hw_flags</span></td></tr></table></div></body></html> 138