struct ieee80211_hw — hardware information and state
struct ieee80211_hw { struct ieee80211_conf conf; struct wiphy * wiphy; const char * rate_control_algorithm; void * priv; u32 flags; unsigned int extra_tx_headroom; int channel_change_time; int vif_data_size; int sta_data_size; int chanctx_data_size; int napi_weight; u16 queues; u16 max_listen_interval; s8 max_signal; u8 max_rates; u8 max_report_rates; u8 max_rate_tries; u8 max_rx_aggregation_subframes; u8 max_tx_aggregation_subframes; u8 offchannel_tx_hw_queue; u8 radiotap_mcs_details; u16 radiotap_vht_details; netdev_features_t netdev_features; };
struct ieee80211_conf, device configuration, don't use.
This points to the struct wiphy allocated for this
802.11 PHY. You must fill in the perm_addr
and dev
members of this structure using SET_IEEE80211_DEV
and SET_IEEE80211_PERM_ADDR
. Additionally, all supported
bands (with channels, bitrates) are registered here.
rate control algorithm for this hardware.
If unset (NULL), the default algorithm will be used. Must be
set before calling ieee80211_register_hw
.
pointer to private area that was allocated for driver use along with this structure.
hardware flags, see enum ieee80211_hw_flags.
headroom to reserve in each transmit skb for use by the driver (e.g. for transmit headers.)
time (in microseconds) it takes to change channels.
size (in bytes) of the drv_priv data area within struct ieee80211_vif.
size (in bytes) of the drv_priv data area within struct ieee80211_sta.
size (in bytes) of the drv_priv data area within struct ieee80211_chanctx_conf.
weight used for NAPI polling. You must specify an appropriate value here if a napi_poll operation is provided by your driver.
number of available hardware transmit queues for data packets. WMM/QoS requires at least four, these queues need to have configurable access parameters.
max listen interval in units of beacon interval that HW supports
Maximum value for signal (rssi) in RX information, used
only when IEEE80211_HW_SIGNAL_UNSPEC
or IEEE80211_HW_SIGNAL_DB
maximum number of alternate rate retry stages the hw can handle.
maximum number of alternate rate retry stages the hw can report back.
maximum number of tries for each stage
maximum buffer size (number of sub-frames) to be used for A-MPDU block ack receiver aggregation. This is only relevant if the device has restrictions on the number of subframes, if it relies on mac80211 to do reordering it shouldn't be set.
maximum number of subframes in an aggregate an HT driver will transmit, used by the peer as a hint to size its reorder buffer.
HW queue ID to use for offchannel TX
(if IEEE80211_HW_QUEUE_CONTROL
is set)
lists which MCS information can the HW
reports, by default it is set to _MCS, _GI and _BW but doesn't
include _FMT. Use IEEE80211_RADIOTAP_MCS_HAVE_
* values, only
adding _BW is supported today.
lists which VHT MCS information the HW reports,
the default is _GI | _BANDWIDTH.
Use the IEEE80211_RADIOTAP_VHT_KNOWN_
* values.
netdev features to be set in each netdev created from this HW. Note only HW checksum features are currently compatible with mac80211. Other feature bits will be rejected.