struct wiphy — wireless hardware description
struct wiphy { u8 perm_addr[ETH_ALEN]; u8 addr_mask[ETH_ALEN]; struct mac_address * addresses; const struct ieee80211_txrx_stypes * mgmt_stypes; const struct ieee80211_iface_combination * iface_combinations; int n_iface_combinations; u16 software_iftypes; u16 n_addresses; u16 interface_modes; u32 flags; enum cfg80211_signal_type signal_type; int bss_priv_size; u8 max_scan_ssids; u16 max_scan_ie_len; int n_cipher_suites; const u32 * cipher_suites; u8 retry_short; u8 retry_long; u32 frag_threshold; u32 rts_threshold; u8 coverage_class; char fw_version[ETHTOOL_BUSINFO_LEN]; u32 hw_version; struct wiphy_wowlan_support wowlan; u16 max_remain_on_channel_duration; u8 max_num_pmkids; u32 available_antennas_tx; u32 available_antennas_rx; const void * privid; struct ieee80211_supported_band * bands[IEEE80211_NUM_BANDS]; int (* reg_notifier) (struct wiphy *wiphy,struct regulatory_request *request); const struct ieee80211_regdomain * regd; struct device dev; struct dentry * debugfsdir; #ifdef CONFIG_NET_NS struct net * _net; #endif #ifdef CONFIG_CFG80211_WEXT const struct iw_handler_def * wext; #endif char priv[0] __attribute__((__aligned__(NETDEV_ALIGN))); };
permanent MAC address of this device
If the device supports multiple MAC addresses by masking, set this to a mask with variable bits set to 1, e.g. if the last
If the device has more than one address, set this pointer to a list of addresses (6 bytes each). The first one will be used by default for perm_addr. In this case, the mask should be set to all-zeroes. In this case it is assumed that the device can handle the same number of arbitrary MAC addresses.
bitmasks of frame subtypes that can be subscribed to or transmitted through nl80211, points to an array indexed by interface type
Valid interface combinations array, should not list single interface types.
number of entries in iface_combinations
array.
bitmask of software interface types, these are not subject to any restrictions since they are purely managed in SW.
number of addresses in addresses
.
bitmask of interfaces types valid for this wiphy, must be set by driver
wiphy flags, see enum wiphy_flags
signal type reported in struct cfg80211_bss.
each BSS struct has private data allocated with it, this variable determines its size
maximum number of SSIDs the device can scan for in any given scan
maximum length of user-controlled IEs device can add to probe request frames transmitted during a scan, must not include fixed IEs like supported rates
number of supported cipher suites
supported cipher suites
Retry limit for short frames (dot11ShortRetryLimit)
Retry limit for long frames (dot11LongRetryLimit)
Fragmentation threshold (dot11FragmentationThreshold); -1 = fragmentation disabled, only odd values >= 256 used
RTS threshold (dot11RTSThreshold); -1 = RTS/CTS disabled
current coverage class
firmware version for ethtool reporting
hardware version for ethtool reporting
WoWLAN support information
Maximum time a remain-on-channel operation may request, if implemented.
maximum number of PMKIDs supported by device
bitmap of antennas which are available to be
configured as TX antennas. Antenna configuration commands will be
rejected unless this or available_antennas_rx
is set.
bitmap of antennas which are available to be
configured as RX antennas. Antenna configuration commands will be
rejected unless this or available_antennas_tx
is set.
a pointer that drivers can use to identify if an arbitrary wiphy is theirs, e.g. in global notifiers
information about bands/channels supported by this device
the driver's regulatory notification callback,
note that if your driver uses wiphy_apply_custom_regulatory
the reg_notifier's request can be passed as NULL
the driver's regulatory domain, if one was requested via
the regulatory_hint
API. This can be used by the driver
on the reg_notifier
if it chooses to ignore future
regulatory domain changes caused by other drivers.
(virtual) struct device for this wiphy
debugfs directory used for this wiphy, will be renamed automatically on wiphy renames
the network namespace this wiphy currently lives in
wireless extension handlers
driver private data (sized according to wiphy_new
parameter)