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 &#8211; for kernel developers"><link rel="up" href="basics.html" title="Chapter&#160;1.&#160;Basic hardware handling"><link rel="prev" href="basics.html" title="Chapter&#160;1.&#160;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>&#160;</td><th width="60%" align="center">Chapter&#160;1.&#160;Basic hardware handling</th><td width="20%" align="right">&#160;<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 &#8212; 
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>&#160;</td><td width="20%" align="center"><a accesskey="u" href="basics.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="API-enum-ieee80211-hw-flags.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter&#160;1.&#160;Basic hardware handling&#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 ieee80211_hw_flags</span></td></tr></table></div></body></html>
138